Yeah, you are right, thanks for your explanation<br/><br/>Maybe we should define a MASK to do this? At 2020-10-19 22:09:40, "Johannes Thumshirn" <Johannes.Thumshirn@xxxxxxx> wrote: >On 19/10/2020 16:06, Hui Su wrote: >> use REQ_OP_WRITE instead of hard code in >> op_is_write(). >> >> Signed-off-by: Hui Su <sh_def@xxxxxxx> >> --- >> include/linux/blk_types.h | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h >> index 7d7c13238fdb..7b9b02378c24 100644 >> --- a/include/linux/blk_types.h >> +++ b/include/linux/blk_types.h >> @@ -440,7 +440,7 @@ static inline void bio_set_op_attrs(struct bio *bio, unsigned op, >> >> static inline bool op_is_write(unsigned int op) >> { >> - return (op & 1); >> + return (op & REQ_OP_WRITE); > >op_is_write() returns true for every req_op that writes to a device (they all have >the lowest bit set), while REQ_OP_WRITE means a WRITE. You'll change the semantics >with this patch.