On 11/7/24 09:02, Jens Axboe wrote: > 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. OK, then I would prefer leaving the code as is :) -- Damien Le Moal Western Digital Research