Details

    • Technical task
    • Resolution: Fixed
    • Critical
    • Lustre 2.8.0
    • None
    • None
    • 3
    • 15919

    Description

      Currently, when LFSCK repairs an inconsistency, it needs to take related ldlm lock(s). In the first instance, this lock prevents concurrent modifications or purge client side cache. To simplify the implementation, the LFSCK just simply acquires LCK_EX mode ibits lock(s) on related objects. For example, when insert a name entry into the namespace, it will take LCK_EX ibits lock on the parent directory, then it will prevent all others to access such directory until related repairing has been done.

      Generally, if there is very little inconsistency in the system, then such lock policy is satisfactory. However, if the inconsistency cases are more common then this lock policy is inefficient. We need to consider more suitable ldlm lock mechanism, like MDT PDO lock to allow more concurrent modifications under the shard directory.

      Attachments

        Activity

          [LU-5682] LFSCK 4: optimize ldlm lock used by LFSCK
          yong.fan nasf (Inactive) made changes -
          Resolution New: Fixed [ 1 ]
          Status Original: In Progress [ 3 ] New: Resolved [ 5 ]

          The patch has been landed to master

          yong.fan nasf (Inactive) added a comment - The patch has been landed to master

          Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/12766/
          Subject: LU-5682 lfsck: optimize ldlm lock used by LFSCK
          Project: fs/lustre-release
          Branch: master
          Current Patch Set:
          Commit: 81be387c988787b86565f1e4087fd20809b6a7c3

          gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/12766/ Subject: LU-5682 lfsck: optimize ldlm lock used by LFSCK Project: fs/lustre-release Branch: master Current Patch Set: Commit: 81be387c988787b86565f1e4087fd20809b6a7c3
          yong.fan nasf (Inactive) made changes -
          Parent New: LU-6361 [ 29081 ]
          Issue Type Original: Improvement [ 4 ] New: Technical task [ 7 ]
          yong.fan nasf (Inactive) made changes -
          Fix Version/s New: Lustre 2.8.0 [ 11113 ]

          Fan Yong (fan.yong@intel.com) uploaded a new patch: http://review.whamcloud.com/12766
          Subject: LU-5682 lfsck: optimize ldlm lock used by LFSCK
          Project: fs/lustre-release
          Branch: master
          Current Patch Set: 1
          Commit: 59a432e3bb56b07c3866be1c59f12b02588f602e

          gerrit Gerrit Updater added a comment - Fan Yong (fan.yong@intel.com) uploaded a new patch: http://review.whamcloud.com/12766 Subject: LU-5682 lfsck: optimize ldlm lock used by LFSCK Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 59a432e3bb56b07c3866be1c59f12b02588f602e
          rhenwood Richard Henwood (Inactive) made changes -
          Description Original: Currently, when LFSCK repairs some inconsistency, it needs to take related ldlm lock(s) firstly to prevent concurrent modifications or purge client side cache. To simply the implementation, the LFSCK just simply acquires LCK_EX mode ibits lock(s) on related object(s_. For example, when insert a name entry into the namespace, it will take LCK_EX ibits lock on the parent directory, then it will prevent all others to access such directory until related repairing has been done.

          Generally, if there is very little inconsistency in the system, then such lock policy can works well. But if the inconsistency cases are not too rare, then such lock policy is inefficient. We need to consider more suitable ldlm lock mechanism, like MDT PDO lock to allow more concurrent modifications under the shard directory.
          New: Currently, when LFSCK repairs an inconsistency, it needs to take related ldlm lock(s). In the first instance, this lock prevents concurrent modifications or purge client side cache. To simplify the implementation, the LFSCK just simply acquires LCK_EX mode ibits lock(s) on related objects. For example, when insert a name entry into the namespace, it will take LCK_EX ibits lock on the parent directory, then it will prevent all others to access such directory until related repairing has been done.

          Generally, if there is very little inconsistency in the system, then such lock policy is satisfactory. However, if the inconsistency cases are more common then this lock policy is inefficient. We need to consider more suitable ldlm lock mechanism, like MDT PDO lock to allow more concurrent modifications under the shard directory.
          yong.fan nasf (Inactive) made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]
          yong.fan nasf (Inactive) made changes -
          Issue Type Original: Bug [ 1 ] New: Improvement [ 4 ]
          yong.fan nasf (Inactive) made changes -
          Priority Original: Minor [ 4 ] New: Critical [ 2 ]

          People

            yong.fan nasf (Inactive)
            yong.fan nasf (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: