On Sun, Oct 31, 2021 at 12:41 PM Jens Axboe <axboe@xxxxxxxxx> wrote: > > On top of the core block branch, this topic branch cleans up the bdev > size handling. So on the whole this seems to be a good cleanup, but some of it worries me. For example, it seems to have lost the cast to "loff_t" when generating the byte size from a "sector_t". Ok, so these days those are both 64-bit, and it doesn't actually matter (the time when we had a 32-bit sector_t as an option are long gone), but I think that bdev_nr_bytes() helper really ends up being subtler than it looks. It very much depends on 'sector_t' and 'loff_t' being the same size (although sector_t is an u64, loff_t ends up being the signed version). I've pulled this, but I do think it might have been better with the type conversion being explicit. One of the reasons we had "sector_t" originally was that it ended up being configuration-dependent, and could be 32-bit. Those times may be gone, but it's still conceptually a very different type from "loff_t". Linus