+++ /dev/null
-From d6e035aad6c09991da1c667fb83419329a3baed8 Mon Sep 17 00:00:00 2001
-From: Junxiao Bi <junxiao.bi@oracle.com>
-Date: Wed, 8 Nov 2023 10:22:15 -0800
-Subject: md: bypass block throttle for superblock update
-
-From: Junxiao Bi <junxiao.bi@oracle.com>
-
-commit d6e035aad6c09991da1c667fb83419329a3baed8 upstream.
-
-commit 5e2cf333b7bd ("md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d")
-introduced a hung bug and will be reverted in next patch, since the issue
-that commit is fixing is due to md superblock write is throttled by wbt,
-to fix it, we can have superblock write bypass block layer throttle.
-
-Fixes: 5e2cf333b7bd ("md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d")
-Cc: stable@vger.kernel.org # v5.19+
-Suggested-by: Yu Kuai <yukuai3@huawei.com>
-Signed-off-by: Junxiao Bi <junxiao.bi@oracle.com>
-Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
-Reviewed-by: Yu Kuai <yukuai3@huawei.com>
-Signed-off-by: Song Liu <song@kernel.org>
-Link: https://lore.kernel.org/r/20231108182216.73611-1-junxiao.bi@oracle.com
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/md/md.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
---- a/drivers/md/md.c
-+++ b/drivers/md/md.c
-@@ -963,9 +963,10 @@ void md_super_write(struct mddev *mddev,
- return;
-
- bio = bio_alloc_bioset(rdev->meta_bdev ? rdev->meta_bdev : rdev->bdev,
-- 1,
-- REQ_OP_WRITE | REQ_SYNC | REQ_PREFLUSH | REQ_FUA,
-- GFP_NOIO, &mddev->sync_set);
-+ 1,
-+ REQ_OP_WRITE | REQ_SYNC | REQ_IDLE | REQ_META
-+ | REQ_PREFLUSH | REQ_FUA,
-+ GFP_NOIO, &mddev->sync_set);
-
- atomic_inc(&rdev->nr_pending);
-
scsi-target-core-add-missing-file_-start-end-_write.patch
scsi-mpi3mr-refresh-sdev-queue-depth-after-controller-reset.patch
scsi-mpi3mr-block-pel-enable-command-on-controller-reset-and-unrecoverable-state.patch
-md-bypass-block-throttle-for-superblock-update.patch
drm-amd-enable-pcie-pme-from-d3.patch
block-add-check-that-partition-length-needs-to-be-aligned-with-block-size.patch
block-fix-iterating-over-an-empty-bio-with-bio_for_each_folio_all.patch
+++ /dev/null
-From d6e035aad6c09991da1c667fb83419329a3baed8 Mon Sep 17 00:00:00 2001
-From: Junxiao Bi <junxiao.bi@oracle.com>
-Date: Wed, 8 Nov 2023 10:22:15 -0800
-Subject: md: bypass block throttle for superblock update
-
-From: Junxiao Bi <junxiao.bi@oracle.com>
-
-commit d6e035aad6c09991da1c667fb83419329a3baed8 upstream.
-
-commit 5e2cf333b7bd ("md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d")
-introduced a hung bug and will be reverted in next patch, since the issue
-that commit is fixing is due to md superblock write is throttled by wbt,
-to fix it, we can have superblock write bypass block layer throttle.
-
-Fixes: 5e2cf333b7bd ("md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d")
-Cc: stable@vger.kernel.org # v5.19+
-Suggested-by: Yu Kuai <yukuai3@huawei.com>
-Signed-off-by: Junxiao Bi <junxiao.bi@oracle.com>
-Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
-Reviewed-by: Yu Kuai <yukuai3@huawei.com>
-Signed-off-by: Song Liu <song@kernel.org>
-Link: https://lore.kernel.org/r/20231108182216.73611-1-junxiao.bi@oracle.com
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/md/md.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
---- a/drivers/md/md.c
-+++ b/drivers/md/md.c
-@@ -940,9 +940,10 @@ void md_super_write(struct mddev *mddev,
- return;
-
- bio = bio_alloc_bioset(rdev->meta_bdev ? rdev->meta_bdev : rdev->bdev,
-- 1,
-- REQ_OP_WRITE | REQ_SYNC | REQ_PREFLUSH | REQ_FUA,
-- GFP_NOIO, &mddev->sync_set);
-+ 1,
-+ REQ_OP_WRITE | REQ_SYNC | REQ_IDLE | REQ_META
-+ | REQ_PREFLUSH | REQ_FUA,
-+ GFP_NOIO, &mddev->sync_set);
-
- atomic_inc(&rdev->nr_pending);
-
scsi-mpi3mr-refresh-sdev-queue-depth-after-controller-reset.patch
scsi-mpi3mr-clean-up-block-devices-post-controller-reset.patch
scsi-mpi3mr-block-pel-enable-command-on-controller-reset-and-unrecoverable-state.patch
-md-bypass-block-throttle-for-superblock-update.patch
drm-amd-enable-pcie-pme-from-d3.patch
block-add-check-that-partition-length-needs-to-be-aligned-with-block-size.patch
block-remove-special-casing-of-compound-pages.patch
+++ /dev/null
-From d6e035aad6c09991da1c667fb83419329a3baed8 Mon Sep 17 00:00:00 2001
-From: Junxiao Bi <junxiao.bi@oracle.com>
-Date: Wed, 8 Nov 2023 10:22:15 -0800
-Subject: md: bypass block throttle for superblock update
-
-From: Junxiao Bi <junxiao.bi@oracle.com>
-
-commit d6e035aad6c09991da1c667fb83419329a3baed8 upstream.
-
-commit 5e2cf333b7bd ("md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d")
-introduced a hung bug and will be reverted in next patch, since the issue
-that commit is fixing is due to md superblock write is throttled by wbt,
-to fix it, we can have superblock write bypass block layer throttle.
-
-Fixes: 5e2cf333b7bd ("md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d")
-Cc: stable@vger.kernel.org # v5.19+
-Suggested-by: Yu Kuai <yukuai3@huawei.com>
-Signed-off-by: Junxiao Bi <junxiao.bi@oracle.com>
-Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
-Reviewed-by: Yu Kuai <yukuai3@huawei.com>
-Signed-off-by: Song Liu <song@kernel.org>
-Link: https://lore.kernel.org/r/20231108182216.73611-1-junxiao.bi@oracle.com
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/md/md.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
---- a/drivers/md/md.c
-+++ b/drivers/md/md.c
-@@ -1037,9 +1037,10 @@ void md_super_write(struct mddev *mddev,
- return;
-
- bio = bio_alloc_bioset(rdev->meta_bdev ? rdev->meta_bdev : rdev->bdev,
-- 1,
-- REQ_OP_WRITE | REQ_SYNC | REQ_PREFLUSH | REQ_FUA,
-- GFP_NOIO, &mddev->sync_set);
-+ 1,
-+ REQ_OP_WRITE | REQ_SYNC | REQ_IDLE | REQ_META
-+ | REQ_PREFLUSH | REQ_FUA,
-+ GFP_NOIO, &mddev->sync_set);
-
- atomic_inc(&rdev->nr_pending);
-
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
-@@ -8123,6 +8123,19 @@ static void status_unused(struct seq_fil
+@@ -8122,6 +8122,19 @@ static void status_unused(struct seq_fil
seq_printf(seq, "\n");
}
static int status_resync(struct seq_file *seq, struct mddev *mddev)
{
sector_t max_sectors, resync, res;
-@@ -8264,20 +8277,10 @@ static int status_resync(struct seq_file
+@@ -8263,20 +8276,10 @@ static int status_resync(struct seq_file
static void *md_seq_start(struct seq_file *seq, loff_t *pos)
__acquires(&all_mddevs_lock)
{
}
static void *md_seq_next(struct seq_file *seq, void *v, loff_t *pos)
-@@ -8288,16 +8291,23 @@ static void *md_seq_next(struct seq_file
+@@ -8287,16 +8290,23 @@ static void *md_seq_next(struct seq_file
static void md_seq_stop(struct seq_file *seq, void *v)
__releases(&all_mddevs_lock)
{
if (!mddev_get(mddev))
return 0;
-@@ -8373,6 +8383,10 @@ static int md_seq_show(struct seq_file *
+@@ -8372,6 +8382,10 @@ static int md_seq_show(struct seq_file *
}
spin_unlock(&mddev->lock);
spin_lock(&all_mddevs_lock);
scsi-mpi3mr-refresh-sdev-queue-depth-after-controller-reset.patch
scsi-mpi3mr-clean-up-block-devices-post-controller-reset.patch
scsi-mpi3mr-block-pel-enable-command-on-controller-reset-and-unrecoverable-state.patch
-md-bypass-block-throttle-for-superblock-update.patch
md-fix-md_seq_ops-regressions.patch
drm-amd-enable-pcie-pme-from-d3.patch
block-add-check-that-partition-length-needs-to-be-aligned-with-block-size.patch