A recent bug report [1] shows md is handling a flush from bcachefs as read: bch2_journal_write=> submit_bio=> ... md_handle_request => raid5_make_request => chunk_aligned_read => raid5_read_one_chunk => ... It appears md code only checks REQ_PREFLUSH for flush requests, which doesn't cover all cases. OTOH, op_is_flush() doesn't check REQ_OP_FLUSH either. Fix this by: 1) Check REQ_PREFLUSH in op_is_flush(); 2) Use op_is_flush() in md code. Thanks, Song [1] https://bugzilla.kernel.org/show_bug.cgi?id=218184 Song Liu (2): block: Check REQ_OP_FLUSH in op_is_flush() md: Use op_is_flush() to check flush bio drivers/md/raid0.c | 2 +- drivers/md/raid1.c | 2 +- drivers/md/raid10.c | 2 +- drivers/md/raid5.c | 2 +- include/linux/blk_types.h | 3 ++- 5 files changed, 6 insertions(+), 5 deletions(-) -- 2.34.1