Re: don't use ->bd_inode to access the block device size

Dave Kleikamp
2021-10-14T13:18:39Z

On 10/14/21 4:32AM, Anton Altaparmakov wrote:
> Hi Christoph,
>
>> On 14 Oct 2021, at 07:28, Christoph Hellwig <hch@lst.de> wrote:
>>
>> On Wed, Oct 13, 2021 at 07:10:13AM +0200, Christoph Hellwig wrote:
>>> I wondered about adding a helper for looking at the size in byte units
>>> to avoid the SECTOR_SHIFT shifts in various places. But given that
>>> I could not come up with a good name and block devices fundamentally
>>> work in sector size granularity I decided against that.
>>
>> So it seems like the biggest review feedback is that we should have
>> such a helper. I think the bdev_size name is the worst as size does
>> not imply a particular unit. bdev_nr_bytes is a little better but I'm
>> not too happy. Any other suggestions or strong opinions?
>
> bdev_byte_size() would seem to address your concerns?
>
> bdev_nr_bytes() would work though - it is analogous to bdev_nr_sectors() after all.
>
> No strong opinion here but I do agree with you that bdev_size() is a bad choice for sure. It is bound to cause bugs down the line when people forget what unit it is in.

I don't really mind bdev_size since it's analogous to i_size, but
bdev_nr_bytes seems good to me.

Shaggy

> Best regards,
>
> Anton
>