Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-9399

lctl conf_param and lctl set_param -P are broken for llite parameters

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.10.0
    • Lustre 2.10.0
    • None
    • 3
    • 9223372036854775807

    Description

      lctl conf_param and lctl set_param -P are broken for llite parameters (probably due to an ordering issue between the processing of the config logs and creation of the subdirectory of /proc/fs/llite corresponding to the mount point. Both work as expected for a client that was mounted when the parameter was set but fail for subsequently mounted clients.

      Using lctl conf_param:

      m:~# llmount.sh
      ...
      m:~# lctl get_param llite.*.xattr_cache
      llite.lustre-ffff880036686000.xattr_cache=1
      m:~# lctl conf_param lustre.llite.xattr_cache=0
      m:~# lctl get_param llite.*.xattr_cache
      llite.lustre-ffff880036686000.xattr_cache=1
      m:~# lctl get_param llite.*.xattr_cache
      llite.lustre-ffff880036686000.xattr_cache=0
      m:~# umount /mnt/lustre
      m:~# mount m@tcp:/lustre /mnt/lustre -t lustre -o user_xattr,flock
      m:~# lctl get_param llite.*.xattr_cache
      llite.lustre-ffff88001017d800.xattr_cache=1
      m:~# sleep 60 && lctl get_param llite.*.xattr_cache
      llite.lustre-ffff88001017d800.xattr_cache=1
      m:~# sleep 60 && lctl get_param llite.*.xattr_cache
      llite.lustre-ffff88001017d800.xattr_cache=1
      m:~# llmountcleanup.sh
      ...
      

      Using lctl set_param -P:

      m:~# mllmount.sh
      ...
      m:~# lctl get_param llite.*.xattr_cache
      llite.lustre-ffff88000ee70800.xattr_cache=1
      m:~# lctl set_param -P llite.*.xattr_cache=0
      m:~# lctl get_param llite.*.xattr_cache
      llite.lustre-ffff88000ee70800.xattr_cache=1
      m:~# sleep 10 && lctl get_param llite.*.xattr_cache
      llite.lustre-ffff88000ee70800.xattr_cache=0
      m:~# umount /mnt/lustre
      m:~# mount m@tcp:/lustre /mnt/lustre -t lustre -o user_xattr,flock
      m:~# lctl get_param llite.*.xattr_cache
      llite.lustre-ffff880007858000.xattr_cache=1
      m:~# sleep 60 && lctl get_param llite.*.xattr_cache
      llite.lustre-ffff880007858000.xattr_cache=1
      m:~# sleep 60 && lctl get_param llite.*.xattr_cache
      llite.lustre-ffff880007858000.xattr_cache=1
      

      If a second client is mounted (on the same node) then the param will
      be set correctly on the first mount point but not on the second.

      m:~# mount m@tcp:/lustre /mnt/lustre2 -t lustre -o user_xattr,flock
      m:~# lctl get_param llite.*.xattr_cache
      llite.lustre-ffff880007858000.xattr_cache=0
      llite.lustre-ffff88006cddb800.xattr_cache=1
      

      Attachments

        Issue Links

          Activity

            People

              emoly.liu Emoly Liu
              jhammond John Hammond
              Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: