[PATCH] xfs: don't allow log recover IO to be throttled

From: Jinliang Zheng
Date: Mon Mar 03 2025 - 06:31:59 EST


When recovering a large filesystem, avoid log recover IO being
throttled by rq_qos_throttle().

Signed-off-by: Jinliang Zheng <alexjlzheng@xxxxxxxxxxx>
---
fs/xfs/xfs_bio_io.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/fs/xfs/xfs_bio_io.c b/fs/xfs/xfs_bio_io.c
index fe21c76f75b8..259955f2aeb2 100644
--- a/fs/xfs/xfs_bio_io.c
+++ b/fs/xfs/xfs_bio_io.c
@@ -22,12 +22,15 @@ xfs_rw_bdev(
unsigned int left = count;
int error;
struct bio *bio;
+ blk_opf_t opf = op | REQ_META | REQ_SYNC;

if (is_vmalloc && op == REQ_OP_WRITE)
flush_kernel_vmap_range(data, count);

- bio = bio_alloc(bdev, bio_max_vecs(left), op | REQ_META | REQ_SYNC,
- GFP_KERNEL);
+ if (op == REQ_OP_WRITE)
+ opf |= REQ_IDLE;
+
+ bio = bio_alloc(bdev, bio_max_vecs(left), opf, GFP_KERNEL);
bio->bi_iter.bi_sector = sector;

do {
--
2.41.1