diff mbox series

bcache: work around a __bitwise to bool conversion sparse warning

Message ID 20240628131657.667797-1-hch@lst.de (mailing list archive)
State New
Headers show
Series bcache: work around a __bitwise to bool conversion sparse warning | expand

Commit Message

Christoph Hellwig June 28, 2024, 1:16 p.m. UTC
Sparse is a bit dumb about bitwise operation on __bitwise types used
in boolean contexts.  Add a !! to explicitly propagate to boolean
without a warning.

Fixes: fcf865e357f8 ("block: convert features and flags to __bitwise types")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/md/bcache/super.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Kent Overstreet June 28, 2024, 2:15 p.m. UTC | #1
On Fri, Jun 28, 2024 at 03:16:48PM +0200, Christoph Hellwig wrote:
> Sparse is a bit dumb about bitwise operation on __bitwise types used
> in boolean contexts.  Add a !! to explicitly propagate to boolean
> without a warning.
> 
> Fixes: fcf865e357f8 ("block: convert features and flags to __bitwise types")
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: Christoph Hellwig <hch@lst.de>

Acked-by: Kent Overstreet <kent.overstreet@linux.dev>

> ---
>  drivers/md/bcache/super.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
> index 283b2511c6d21f..b5d6ef430b86fc 100644
> --- a/drivers/md/bcache/super.c
> +++ b/drivers/md/bcache/super.c
> @@ -1416,8 +1416,8 @@ static int cached_dev_init(struct cached_dev *dc, unsigned int block_size)
>  	}
>  
>  	if (bdev_io_opt(dc->bdev))
> -		dc->partial_stripes_expensive = q->limits.features &
> -			BLK_FEAT_RAID_PARTIAL_STRIPES_EXPENSIVE;
> +		dc->partial_stripes_expensive = !!(q->limits.features &
> +			BLK_FEAT_RAID_PARTIAL_STRIPES_EXPENSIVE);
>  
>  	ret = bcache_device_init(&dc->disk, block_size,
>  			 bdev_nr_sectors(dc->bdev) - dc->sb.data_offset,
> -- 
> 2.43.0
>
Jens Axboe June 28, 2024, 4:25 p.m. UTC | #2
On Fri, 28 Jun 2024 15:16:48 +0200, Christoph Hellwig wrote:
> Sparse is a bit dumb about bitwise operation on __bitwise types used
> in boolean contexts.  Add a !! to explicitly propagate to boolean
> without a warning.
> 
> 

Applied, thanks!

[1/1] bcache: work around a __bitwise to bool conversion sparse warning
      commit: f1e46758e8b2b04c725ac706b5f455c0de0486a4

Best regards,
diff mbox series

Patch

diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
index 283b2511c6d21f..b5d6ef430b86fc 100644
--- a/drivers/md/bcache/super.c
+++ b/drivers/md/bcache/super.c
@@ -1416,8 +1416,8 @@  static int cached_dev_init(struct cached_dev *dc, unsigned int block_size)
 	}
 
 	if (bdev_io_opt(dc->bdev))
-		dc->partial_stripes_expensive = q->limits.features &
-			BLK_FEAT_RAID_PARTIAL_STRIPES_EXPENSIVE;
+		dc->partial_stripes_expensive = !!(q->limits.features &
+			BLK_FEAT_RAID_PARTIAL_STRIPES_EXPENSIVE);
 
 	ret = bcache_device_init(&dc->disk, block_size,
 			 bdev_nr_sectors(dc->bdev) - dc->sb.data_offset,