From: Li Dongyang Date: Wed, 1 Nov 2023 11:36:10 +0000 (+1100) Subject: LU-17248 kernel: add SB_I_STABLE_WRITES to bdev sb flag X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=5968bc3954;p=fs%2Flustre-release.git LU-17248 kernel: add SB_I_STABLE_WRITES to bdev sb flag Since RHEL 8.6 wait_for_stable_page() is controlled by a new flag SB_I_STABLE_WRITES on the super block. However the new flag is not set on the bdev pseudo sb, which mean when doing write directly to the block device we are not waiting on page writeback, this could trigger false block integrity errors, as page could be modified again when under writeback, the integrity checksum does not match the new data any more. Lustre-change: https://review.whamcloud.com/52922 Lustre-commit: TBD (from 5aeffdbec699abad07ed2326723c7743faadbf8a) Change-Id: Ie088abf29f40b294c31f993bcfad56d6081a3fce Test-Parameters: trivial Signed-off-by: Li Dongyang Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/52969 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger --- diff --git a/lustre/kernel_patches/patches/block-add-SB_I_STABLE_WRITES-to-bdev-sb-flag-rhel8.6.patch b/lustre/kernel_patches/patches/block-add-SB_I_STABLE_WRITES-to-bdev-sb-flag-rhel8.6.patch new file mode 100644 index 0000000..6c4a32c --- /dev/null +++ b/lustre/kernel_patches/patches/block-add-SB_I_STABLE_WRITES-to-bdev-sb-flag-rhel8.6.patch @@ -0,0 +1,13 @@ +Index: linux-4.18.0-372.32.1.el8_6/fs/block_dev.c +=================================================================== +--- linux-4.18.0-372.32.1.el8_6.orig/fs/block_dev.c ++++ linux-4.18.0-372.32.1.el8_6/fs/block_dev.c +@@ -888,7 +888,7 @@ static int bd_init_fs_context(struct fs_ + struct pseudo_fs_context *ctx = init_pseudo(fc, BDEVFS_MAGIC); + if (!ctx) + return -ENOMEM; +- fc->s_iflags |= SB_I_CGROUPWB; ++ fc->s_iflags |= SB_I_CGROUPWB | SB_I_STABLE_WRITES; + ctx->ops = &bdev_sops; + return 0; + } diff --git a/lustre/kernel_patches/series/4.18-rhel8.6.series b/lustre/kernel_patches/series/4.18-rhel8.6.series index 290517c..8c3600c 100644 --- a/lustre/kernel_patches/series/4.18-rhel8.6.series +++ b/lustre/kernel_patches/series/4.18-rhel8.6.series @@ -5,3 +5,4 @@ block-integrity-allow-optional-integrity-functions-rhel8.3.patch block-pass-bio-into-integrity_processing_fn-rhel8.patch scsi-requeue-aborted-commands-instead-of-retry-rhel8.patch snapshot-jbd2-rhel8.3.patch +block-add-SB_I_STABLE_WRITES-to-bdev-sb-flag-rhel8.6.patch diff --git a/lustre/kernel_patches/series/4.18-rhel8.7.series b/lustre/kernel_patches/series/4.18-rhel8.7.series index 0fc30d9..9d08ccc 100644 --- a/lustre/kernel_patches/series/4.18-rhel8.7.series +++ b/lustre/kernel_patches/series/4.18-rhel8.7.series @@ -4,3 +4,4 @@ block-integrity-allow-optional-integrity-functions-rhel8.3.patch block-pass-bio-into-integrity_processing_fn-rhel8.patch scsi-requeue-aborted-commands-instead-of-retry-rhel8.patch snapshot-jbd2-rhel8.3.patch +block-add-SB_I_STABLE_WRITES-to-bdev-sb-flag-rhel8.6.patch diff --git a/lustre/kernel_patches/series/4.18-rhel8.8.series b/lustre/kernel_patches/series/4.18-rhel8.8.series index 0fc30d9..9d08ccc 100644 --- a/lustre/kernel_patches/series/4.18-rhel8.8.series +++ b/lustre/kernel_patches/series/4.18-rhel8.8.series @@ -4,3 +4,4 @@ block-integrity-allow-optional-integrity-functions-rhel8.3.patch block-pass-bio-into-integrity_processing_fn-rhel8.patch scsi-requeue-aborted-commands-instead-of-retry-rhel8.patch snapshot-jbd2-rhel8.3.patch +block-add-SB_I_STABLE_WRITES-to-bdev-sb-flag-rhel8.6.patch