Whamcloud - gitweb
LU-12353 ldiskfs: speedup quota journalling 92/34992/3
authorAndrew Perepechko <c17827@cray.com>
Wed, 11 Jul 2018 13:32:33 +0000 (16:32 +0300)
committerOleg Drokin <green@whamcloud.com>
Thu, 3 Dec 2020 07:26:42 +0000 (07:26 +0000)
ldiskfs_mark_dquot_dirty() need not call
ldiskfs_write_dquot() if the dquot is already
dirty since we are guaranteed that another
thread is already writing the dquot and
will update the buffer with the latest
dquot data.

Change-Id: Ia65c5987bbb0d6d2ac94c5499cb8b51edc3c49c3
Signed-off-by: Andrew Perepechko <c17827@cray.com>
Cray-bug-id: LUS-5342
Reviewed-on: https://review.whamcloud.com/34992
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Wang Shilong <wshilong@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Hongchao Zhang <hongchao@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
ldiskfs/kernel_patches/patches/rhel7.6/ext4-dquot-commit-speedup.patch [new file with mode: 0644]
ldiskfs/kernel_patches/series/ldiskfs-3.10-rhel7.6.series
ldiskfs/kernel_patches/series/ldiskfs-3.10-rhel7.7.series
ldiskfs/kernel_patches/series/ldiskfs-3.10-rhel7.8.series
ldiskfs/kernel_patches/series/ldiskfs-3.10-rhel7.9.series

diff --git a/ldiskfs/kernel_patches/patches/rhel7.6/ext4-dquot-commit-speedup.patch b/ldiskfs/kernel_patches/patches/rhel7.6/ext4-dquot-commit-speedup.patch
new file mode 100644 (file)
index 0000000..2b32630
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/fs/ext4/super.c  2018-07-11 16:27:46.890341960 +0300
++++ b/fs/ext4/super.c  2018-07-11 16:29:17.549061853 +0300
+@@ -5403,6 +5403,8 @@ static int ext4_mark_dquot_dirty(struct
+       /* Are we journaling quotas? */
+       if (EXT4_HAS_RO_COMPAT_FEATURE(sb, EXT4_FEATURE_RO_COMPAT_QUOTA) ||
+           sbi->s_qf_names[USRQUOTA] || sbi->s_qf_names[GRPQUOTA]) {
++              if (test_bit(DQ_MOD_B, &dquot->dq_flags))
++                      return 0;
+               dquot_mark_dquot_dirty(dquot);
+               return ext4_write_dquot(dquot);
+       } else {
index f130545..ad0d05a 100644 (file)
@@ -48,3 +48,4 @@ rhel7.6/ext4-limit-number-of-scanned-extents-in-status-tree-.patch
 rhel7.6/ext4-cleanup-flag-definitions-for-extent-status-tree.patch
 rhel7.6/ext4-introduce-aging-to-extent-status-tree.patch
 base/ext4-no-max-dir-size-limit-for-iam-objects.patch
 rhel7.6/ext4-cleanup-flag-definitions-for-extent-status-tree.patch
 rhel7.6/ext4-introduce-aging-to-extent-status-tree.patch
 base/ext4-no-max-dir-size-limit-for-iam-objects.patch
+rhel7.6/ext4-dquot-commit-speedup.patch
index 018fae1..88c5369 100644 (file)
@@ -48,3 +48,4 @@ rhel7.6/ext4-limit-number-of-scanned-extents-in-status-tree-.patch
 rhel7.6/ext4-cleanup-flag-definitions-for-extent-status-tree.patch
 rhel7.6/ext4-introduce-aging-to-extent-status-tree.patch
 base/ext4-no-max-dir-size-limit-for-iam-objects.patch
 rhel7.6/ext4-cleanup-flag-definitions-for-extent-status-tree.patch
 rhel7.6/ext4-introduce-aging-to-extent-status-tree.patch
 base/ext4-no-max-dir-size-limit-for-iam-objects.patch
+rhel7.6/ext4-dquot-commit-speedup.patch
index defacc9..8ee2757 100644 (file)
@@ -41,3 +41,4 @@ rhel7.6/ext4-simple-blockalloc.patch
 rhel7.6/ext4-mballoc-skip-uninit-groups-cr0.patch
 rhel7.7/ext4-mballoc-prefetch.patch
 base/ext4-no-max-dir-size-limit-for-iam-objects.patch
 rhel7.6/ext4-mballoc-skip-uninit-groups-cr0.patch
 rhel7.7/ext4-mballoc-prefetch.patch
 base/ext4-no-max-dir-size-limit-for-iam-objects.patch
+rhel7.6/ext4-dquot-commit-speedup.patch
index 8e7402f..e3e094e 100644 (file)
@@ -41,3 +41,4 @@ rhel7.6/ext4-simple-blockalloc.patch
 rhel7.6/ext4-mballoc-skip-uninit-groups-cr0.patch
 rhel7.7/ext4-mballoc-prefetch.patch
 base/ext4-no-max-dir-size-limit-for-iam-objects.patch
 rhel7.6/ext4-mballoc-skip-uninit-groups-cr0.patch
 rhel7.7/ext4-mballoc-prefetch.patch
 base/ext4-no-max-dir-size-limit-for-iam-objects.patch
+rhel7.6/ext4-dquot-commit-speedup.patch