2020-10-19 14:11:22

by Johannes Thumshirn

[permalink] [raw]
Subject: Re: [PATCH] blk: use REQ_OP_WRITE instead of hard code

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 <[email protected]>
> ---
> 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.


2020-10-19 14:47:40

by Hui Su

[permalink] [raw]
Subject: Re:Re: [PATCH] blk: use REQ_OP_WRITE instead of hard code

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" <[email protected]> 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 <[email protected]>
>> ---
>> 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.