We added some in/out ops(eg. REQ_OP_SCSI_IN/OUT), but currently the op_is_sync() is only checking REQ_OP_READ.
So treat all read ops as synchronous. Fixes: aebf526b53ae ("block: fold cmd_type into the REQ_OP_ space") Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> --- include/linux/blk_types.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h index a2d2aa709cef..9b623ea4faa6 100644 --- a/include/linux/blk_types.h +++ b/include/linux/blk_types.h @@ -288,8 +288,7 @@ static inline bool op_is_flush(unsigned int op) */ static inline bool op_is_sync(unsigned int op) { - return (op & REQ_OP_MASK) == REQ_OP_READ || - (op & (REQ_SYNC | REQ_FUA | REQ_PREFLUSH)); + return !op_is_write(op) || (op & (REQ_SYNC | REQ_FUA | REQ_PREFLUSH)); } typedef unsigned int blk_qc_t; -- 2.11.0