OSDN Git Service

blk-flush: fix rq->flush.seq for post-flush requests
authorChengming Zhou <zhouchengming@bytedance.com>
Mon, 17 Jul 2023 04:00:56 +0000 (12:00 +0800)
committerJens Axboe <axboe@kernel.dk>
Mon, 17 Jul 2023 14:18:21 +0000 (08:18 -0600)
commit28b241237470981a96fbd82077c8044466b61e5f
treed7dea692d7a353845dca7bcca17f7c0e788f4e80
parent660e802c76c89e871c29cd3174c07c8d23e39c35
blk-flush: fix rq->flush.seq for post-flush requests

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.

Fixes: 615939a2ae73 ("blk-mq: defer to the normal submission path for post-flush requests")
Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20230717040058.3993930-3-chengming.zhou@linux.dev
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-flush.c