2015-05-26 05:03:08

by Eddie Kovsky

[permalink] [raw]
Subject: [PATCH] Fix reversed logic in drivers/md/md.c

Fixes the following compiler warning in next-20150525 using gcc 5.1.0:

drivers/md/md.c: In function ‘update_array_info’:
drivers/md/md.c:6394:26: warning: logical not is only applied to the
left hand side of comparison [-Wlogical-not-parentheses]
!mddev->persistent != info->not_persistent||

Signed-off-by: Eddie Kovsky <[email protected]>
---
drivers/md/md.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/md/md.c b/drivers/md/md.c
index eb27b2a74492..b0f98b5b8985 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -6391,7 +6391,7 @@ static int update_array_info(struct mddev *mddev, mdu_array_info_t *info)
mddev->ctime != info->ctime ||
mddev->level != info->level ||
/* mddev->layout != info->layout || */
- !mddev->persistent != info->not_persistent||
+ mddev->persistent == info->not_persistent||
mddev->chunk_sectors != info->chunk_size >> 9 ||
/* ignore bottom 8 bits of state, and allow SB_BITMAP_PRESENT to change */
((state^info->state) & 0xfffffe00)
--
2.4.1


2015-05-26 04:59:08

by NeilBrown

[permalink] [raw]
Subject: Re: [PATCH] Fix reversed logic in drivers/md/md.c

On Mon, 25 May 2015 22:36:24 -0600 Eddie Kovsky <[email protected]> wrote:

> Fixes the following compiler warning in next-20150525 using gcc 5.1.0:
>
> drivers/md/md.c: In function ‘update_array_info’:
> drivers/md/md.c:6394:26: warning: logical not is only applied to the
> left hand side of comparison [-Wlogical-not-parentheses]
> !mddev->persistent != info->not_persistent||
>
> Signed-off-by: Eddie Kovsky <[email protected]>
> ---
> drivers/md/md.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/md/md.c b/drivers/md/md.c
> index eb27b2a74492..b0f98b5b8985 100644
> --- a/drivers/md/md.c
> +++ b/drivers/md/md.c
> @@ -6391,7 +6391,7 @@ static int update_array_info(struct mddev *mddev, mdu_array_info_t *info)
> mddev->ctime != info->ctime ||
> mddev->level != info->level ||
> /* mddev->layout != info->layout || */
> - !mddev->persistent != info->not_persistent||
> + mddev->persistent == info->not_persistent||
> mddev->chunk_sectors != info->chunk_size >> 9 ||
> /* ignore bottom 8 bits of state, and allow SB_BITMAP_PRESENT to change */
> ((state^info->state) & 0xfffffe00)

Thanks... but I'd rather gcc was fixed. :-( There is nothing wrong with the
code and it does not deserve a warning.

I really like the column of "!=" and I don't want to change that.

I *might* be able to access
(!mddev->persistent) != info->not_persistent

Thanks,
NeilBrown


Attachments:
(No filename) (811.00 B)
OpenPGP digital signature