diff mbox series

loop: Remove redundant status flag operation

Message ID 1591929831-2397-1-git-send-email-xuyang2018.jy@cn.fujitsu.com (mailing list archive)
State New, archived
Headers show
Series loop: Remove redundant status flag operation | expand

Commit Message

Yang Xu June 12, 2020, 2:43 a.m. UTC
Since ~LOOP_SET_STATUS_SETTABLE_FLAG is always a subset of ~LOOP_SET_STATUS_CLEARABLE_FLAGS
,remove this redundant flags operation.

Cc: Martijn Coenen <maco@android.com>
Signed-off-by: Yang Xu <xuyang2018.jy@cn.fujitsu.com>
---
 drivers/block/loop.c | 2 --
 1 file changed, 2 deletions(-)

Comments

Yang Xu Aug. 1, 2020, 3:04 a.m. UTC | #1
Hi
Ping.

> Since ~LOOP_SET_STATUS_SETTABLE_FLAG is always a subset of ~LOOP_SET_STATUS_CLEARABLE_FLAGS
> ,remove this redundant flags operation.
> 
> Cc: Martijn Coenen <maco@android.com>
> Signed-off-by: Yang Xu <xuyang2018.jy@cn.fujitsu.com>
> ---
>   drivers/block/loop.c | 2 --
>   1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/block/loop.c b/drivers/block/loop.c
> index c33bbbf..2a61079 100644
> --- a/drivers/block/loop.c
> +++ b/drivers/block/loop.c
> @@ -1391,8 +1391,6 @@ static int loop_clr_fd(struct loop_device *lo)
>   
>   	/* Mask out flags that can't be set using LOOP_SET_STATUS. */
>   	lo->lo_flags &= LOOP_SET_STATUS_SETTABLE_FLAGS;
> -	/* For those flags, use the previous values instead */
> -	lo->lo_flags |= prev_lo_flags & ~LOOP_SET_STATUS_SETTABLE_FLAGS;
>   	/* For flags that can't be cleared, use previous values too */
>   	lo->lo_flags |= prev_lo_flags & ~LOOP_SET_STATUS_CLEARABLE_FLAGS;
>   
>
Martijn Coenen Aug. 6, 2020, 7:45 a.m. UTC | #2
Hi Yang,

Thanks for the patch! I think it's correct, but I wonder whether it's
confusing to read, especially since the comment says "For flags that
can't be cleared, use previous values too" - it might not be obvious
to the reader that ~SETTABLE is a subset of ~CLEARABLE, and they might
think "well what about the settable flags we just cleared?"

To be honest I wouldn't mind leaving the code as-is, since it more
clearly describes what happens, and presumably the compiler will be
smart enough to optimize this anyway. But if you have other ideas on
how to remove this line and make things easier to understand, let me
know.

Best,
Martijn

On Sat, Aug 1, 2020 at 5:04 AM Yang Xu <xuyang2018.jy@cn.fujitsu.com> wrote:
>
> Hi
> Ping.
>
> > Since ~LOOP_SET_STATUS_SETTABLE_FLAG is always a subset of ~LOOP_SET_STATUS_CLEARABLE_FLAGS
> > ,remove this redundant flags operation.
> >
> > Cc: Martijn Coenen <maco@android.com>
> > Signed-off-by: Yang Xu <xuyang2018.jy@cn.fujitsu.com>
> > ---
> >   drivers/block/loop.c | 2 --
> >   1 file changed, 2 deletions(-)
> >
> > diff --git a/drivers/block/loop.c b/drivers/block/loop.c
> > index c33bbbf..2a61079 100644
> > --- a/drivers/block/loop.c
> > +++ b/drivers/block/loop.c
> > @@ -1391,8 +1391,6 @@ static int loop_clr_fd(struct loop_device *lo)
> >
> >       /* Mask out flags that can't be set using LOOP_SET_STATUS. */
> >       lo->lo_flags &= LOOP_SET_STATUS_SETTABLE_FLAGS;
> > -     /* For those flags, use the previous values instead */
> > -     lo->lo_flags |= prev_lo_flags & ~LOOP_SET_STATUS_SETTABLE_FLAGS;
> >       /* For flags that can't be cleared, use previous values too */
> >       lo->lo_flags |= prev_lo_flags & ~LOOP_SET_STATUS_CLEARABLE_FLAGS;
> >
> >
>
>
Yang Xu Aug. 6, 2020, 8:03 a.m. UTC | #3
Hi Martijn


> Hi Yang,
> 
> Thanks for the patch! I think it's correct, but I wonder whether it's
> confusing to read, especially since the comment says "For flags that
> can't be cleared, use previous values too" - it might not be obvious
> to the reader that ~SETTABLE is a subset of ~CLEARABLE, and they might
> think "well what about the settable flags we just cleared?"
> 
> To be honest I wouldn't mind leaving the code as-is, since it more
> clearly describes what happens, and presumably the compiler will be
> smart enough to optimize this anyway. But if you have other ideas on
> how to remove this line and make things easier to understand, let me
> know.
> 
Thanks for your reply. From code readability, I agree with you and keep 
this code here is better. So ignore this patch.

Best Regards
Yang Xu
> Best,
> Martijn
> 
> On Sat, Aug 1, 2020 at 5:04 AM Yang Xu <xuyang2018.jy@cn.fujitsu.com> wrote:
>>
>> Hi
>> Ping.
>>
>>> Since ~LOOP_SET_STATUS_SETTABLE_FLAG is always a subset of ~LOOP_SET_STATUS_CLEARABLE_FLAGS
>>> ,remove this redundant flags operation.
>>>
>>> Cc: Martijn Coenen <maco@android.com>
>>> Signed-off-by: Yang Xu <xuyang2018.jy@cn.fujitsu.com>
>>> ---
>>>    drivers/block/loop.c | 2 --
>>>    1 file changed, 2 deletions(-)
>>>
>>> diff --git a/drivers/block/loop.c b/drivers/block/loop.c
>>> index c33bbbf..2a61079 100644
>>> --- a/drivers/block/loop.c
>>> +++ b/drivers/block/loop.c
>>> @@ -1391,8 +1391,6 @@ static int loop_clr_fd(struct loop_device *lo)
>>>
>>>        /* Mask out flags that can't be set using LOOP_SET_STATUS. */
>>>        lo->lo_flags &= LOOP_SET_STATUS_SETTABLE_FLAGS;
>>> -     /* For those flags, use the previous values instead */
>>> -     lo->lo_flags |= prev_lo_flags & ~LOOP_SET_STATUS_SETTABLE_FLAGS;
>>>        /* For flags that can't be cleared, use previous values too */
>>>        lo->lo_flags |= prev_lo_flags & ~LOOP_SET_STATUS_CLEARABLE_FLAGS;
>>>
>>>
>>
>>
> 
>
diff mbox series

Patch

diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index c33bbbf..2a61079 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -1391,8 +1391,6 @@  static int loop_clr_fd(struct loop_device *lo)
 
 	/* Mask out flags that can't be set using LOOP_SET_STATUS. */
 	lo->lo_flags &= LOOP_SET_STATUS_SETTABLE_FLAGS;
-	/* For those flags, use the previous values instead */
-	lo->lo_flags |= prev_lo_flags & ~LOOP_SET_STATUS_SETTABLE_FLAGS;
 	/* For flags that can't be cleared, use previous values too */
 	lo->lo_flags |= prev_lo_flags & ~LOOP_SET_STATUS_CLEARABLE_FLAGS;