Messages in this thread Patch in this message | | | From | chengming.zhou@linux ... | Subject | [PATCH 1/2] blk-flush: fix rq->flush.seq for post-flush requests | Date | Mon, 10 Jul 2023 14:47:04 +0800 |
| |
From: Chengming Zhou <zhouchengming@bytedance.com>
If the policy == (REQ_FSEQ_DATA | REQ_FSEQ_POSTFLUSH), it means that the data sequence and post-flush sequence need to be done for this request.
The rq->flush.seq should record what sequences have been done (or don't need to be done). So in this case, pre-flush doesn't need to be done, we should init rq->flush.seq to REQ_FSEQ_PREFLUSH not REQ_FSEQ_POSTFLUSH.
Of course, this doesn't cause any problem in fact, since pre-flush and post-flush sequence do the same thing for now.
But we'd better fix this value, and the next patch will depend on this value to be correct.
Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com> --- block/blk-flush.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/block/blk-flush.c b/block/blk-flush.c index 4826d2d61a23..094a6adb2718 100644 --- a/block/blk-flush.c +++ b/block/blk-flush.c @@ -448,7 +448,7 @@ bool blk_insert_flush(struct request *rq) * the post flush, and then just pass the command on. */ blk_rq_init_flush(rq); - rq->flush.seq |= REQ_FSEQ_POSTFLUSH; + rq->flush.seq |= REQ_FSEQ_PREFLUSH; spin_lock_irq(&fq->mq_flush_lock); fq->flush_data_in_flight++; spin_unlock_irq(&fq->mq_flush_lock); -- 2.41.0
| |