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

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

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

            [LU-9399] lctl conf_param and lctl set_param -P are broken for llite parameters
            pjones Peter Jones added a comment -

            Landed for 2.10

            pjones Peter Jones added a comment - Landed for 2.10

            Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/27241/
            Subject: LU-9399 llite: register mountpoint before process llog
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: fa1bff8f6f3afb858618a563b039af3bbf46153b

            gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/27241/ Subject: LU-9399 llite: register mountpoint before process llog Project: fs/lustre-release Branch: master Current Patch Set: Commit: fa1bff8f6f3afb858618a563b039af3bbf46153b

            Emoly Liu (emoly.liu@intel.com) uploaded a new patch: https://review.whamcloud.com/27241
            Subject: LU-9399 llite: register mountpoint before process llog
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 35efc9b025c910028317b60398d0d40f446db3f2

            gerrit Gerrit Updater added a comment - Emoly Liu (emoly.liu@intel.com) uploaded a new patch: https://review.whamcloud.com/27241 Subject: LU-9399 llite: register mountpoint before process llog Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 35efc9b025c910028317b60398d0d40f446db3f2
            emoly.liu Emoly Liu added a comment - - edited

            As John said, this is an ordering issue. process_param2_config() calls "/usr/sbin/lctl set_param llite.*.xattr_cache=0" during mounting before the client's /proc/fs/lustre/llite/xxx proc entry is created.
            I will see how to fix it.

            emoly.liu Emoly Liu added a comment - - edited As John said, this is an ordering issue. process_param2_config() calls "/usr/sbin/lctl set_param llite.*.xattr_cache=0" during mounting before the client's /proc/fs/lustre/llite/xxx proc entry is created. I will see how to fix it.
            emoly.liu Emoly Liu added a comment -

            I will look into it.

            emoly.liu Emoly Liu added a comment - I will look into it.

            Can you try my llite sysfs patch https://review.whamcloud.com/#/c/24031. Test conf-sanity 28 will reveal this problem. Currently it fails because of it.

            simmonsja James A Simmons added a comment - Can you try my llite sysfs patch https://review.whamcloud.com/#/c/24031 . Test conf-sanity 28 will reveal this problem. Currently it fails because of it.
            pjones Peter Jones added a comment -

            Emoly

            Could you please assist with this issue?

            Thanks

            Peter

            pjones Peter Jones added a comment - Emoly Could you please assist with this issue? Thanks Peter

            People

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

              Dates

                Created:
                Updated:
                Resolved: