On 11/6/24 4:44 PM, Damien Le Moal wrote: > On 11/7/24 08:20, Bart Van Assche wrote: >> On 11/6/24 3:13 PM, Damien Le Moal wrote: >>> diff --git a/block/blk-zoned.c b/block/blk-zoned.c >>> index a287577d1ad6..7a7855555d6d 100644 >>> --- a/block/blk-zoned.c >>> +++ b/block/blk-zoned.c >>> @@ -350,9 +350,14 @@ int blkdev_zone_mgmt_ioctl(struct block_device *bdev, blk_mode_t mode, >>> >>> static inline bool disk_zone_is_conv(struct gendisk *disk, sector_t sector) >>> { >>> - if (!disk->conv_zones_bitmap) >>> - return false; >>> - return test_bit(disk_zone_no(disk, sector), disk->conv_zones_bitmap); >>> + bool is_conv; >>> + >>> + rcu_read_lock(); >>> + is_conv = disk->conv_zones_bitmap && >>> + test_bit(disk_zone_no(disk, sector), disk->conv_zones_bitmap); >>> + rcu_read_unlock(); >>> + >>> + return is_conv; >>> } >> >> The above code can be simplified significantly by using guard(rcu). > > I personally dislike very much annotations that hide code. So unless > Jens prefers using guard(rcu), I would prefer leaving the code as it > is. I don't mind it, and I do use it myself when it makes sense - but imho it's up to the person writing the code, particularly when it's their code in the first place. -- Jens Axboe