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

Quota updates are not properly journaled

Details

    • Bug
    • Resolution: Fixed
    • Major
    • Lustre 2.9.0
    • Lustre 2.8.0
    • Running Lustre in RHEL6.
    • 3
    • 9223372036854775807

    Description

      In our production system, when Lustre server crash happen, e2fsck mostly will report Quota accounting mismatch problems. and sometimes there are huge differences.

      Problems are current Lustre quota codes rely on ldiskfs quota accounting
      and if ldiskfs quota is wrong, we need run e2fsck or by disable/enable to fix quota accounting.

      This encourage me to look quota implement for ldiskfs. while taking at codes
      I found there is a big problem with RHEL6 quota codes, that quota updates are
      not properly journaled.

      Every ext4_mark_dquot_dirty is called, we skip and only add quota updates
      to dirty list without journal it. This make quota updates only journaled in ext4_quota_write() which can be called in 'sync_file' which only happen
      during sync call or umount.

      This will make big problem if we hit crash, we will lost many quota updates.

      Attachments

        Activity

          [LU-8216] Quota updates are not properly journaled

          For the record, when we discovered this journaling issue, we added the following mount options to our mdt and osts :

          usrjquota=lquota.user,grpjquota=lquota.group,jqfmt=vfsv1

          No fix needed.

          bruno.travouillon Bruno Travouillon (Inactive) added a comment - For the record, when we discovered this journaling issue, we added the following mount options to our mdt and osts : usrjquota=lquota.user,grpjquota=lquota.group,jqfmt=vfsv1 No fix needed.

          All patches have landed to master for 2.9.0

          jgmitter Joseph Gmitter (Inactive) added a comment - All patches have landed to master for 2.9.0

          Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/20791/
          Subject: LU-8216 ldiskfs: fix journal quota files for RHEL6.8
          Project: fs/lustre-release
          Branch: master
          Current Patch Set:
          Commit: e9d2e7d7ef86e322d1fbc9b01e549e133d8cecc5

          gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/20791/ Subject: LU-8216 ldiskfs: fix journal quota files for RHEL6.8 Project: fs/lustre-release Branch: master Current Patch Set: Commit: e9d2e7d7ef86e322d1fbc9b01e549e133d8cecc5

          Wang Shilong (wshilong@ddn.com) uploaded a new patch: http://review.whamcloud.com/20791
          Subject: LU-8216 ldiskfs: fix journal quota files for rhel6.8
          Project: fs/lustre-release
          Branch: master
          Current Patch Set: 1
          Commit: 62056c1d43625696ec719d1f1d7e0f1d477b5c6e

          gerrit Gerrit Updater added a comment - Wang Shilong (wshilong@ddn.com) uploaded a new patch: http://review.whamcloud.com/20791 Subject: LU-8216 ldiskfs: fix journal quota files for rhel6.8 Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 62056c1d43625696ec719d1f1d7e0f1d477b5c6e

          Hello Bob Glossman, I think we still need it for el6.8, maybe when i pushed patch, el6.8 is not yet merged into master.

          wangshilong Wang Shilong (Inactive) added a comment - Hello Bob Glossman, I think we still need it for el6.8, maybe when i pushed patch, el6.8 is not yet merged into master.

          I see the change http://review.whamcloud.com/20503 updates many of the ldiskfs patch series, but not those for el6.8, el7*, sles12*. Is this change not needed there or was it left out by mistake?

          bogl Bob Glossman (Inactive) added a comment - I see the change http://review.whamcloud.com/20503 updates many of the ldiskfs patch series, but not those for el6.8, el7*, sles12*. Is this change not needed there or was it left out by mistake?

          Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/20503/
          Subject: LU-8216 ldiskfs: fix journal quota files
          Project: fs/lustre-release
          Branch: master
          Current Patch Set:
          Commit: d59d553dc18189dfc5e43196f7c8a2bd6346b675

          gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/20503/ Subject: LU-8216 ldiskfs: fix journal quota files Project: fs/lustre-release Branch: master Current Patch Set: Commit: d59d553dc18189dfc5e43196f7c8a2bd6346b675
          pjones Peter Jones added a comment -

          Niu

          Could you please review this proposed change?

          Thanks

          Peter

          pjones Peter Jones added a comment - Niu Could you please review this proposed change? Thanks Peter

          Wang Shilong (wshilong@ddn.com) uploaded a new patch: http://review.whamcloud.com/20503
          Subject: LU-8216 ldiskfs: fix journal quota files
          Project: fs/lustre-release
          Branch: master
          Current Patch Set: 1
          Commit: 9d519f9900fe1aa6c4d552fea20faf1346f0069a

          gerrit Gerrit Updater added a comment - Wang Shilong (wshilong@ddn.com) uploaded a new patch: http://review.whamcloud.com/20503 Subject: LU-8216 ldiskfs: fix journal quota files Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 9d519f9900fe1aa6c4d552fea20faf1346f0069a

          People

            niu Niu Yawei (Inactive)
            wangshilong Wang Shilong (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: