On Thu, Feb 22, 2024 at 05:47:55AM +0000, Sad Clouds wrote: > On Wed, 21 Feb 2024 12:48:34 -0800 > Jason Thorpe <thor...@me.com> wrote: > > > > > > On Feb 21, 2024, at 2:52???AM, Sad Clouds <cryintotheblue...@gmail.com> > > > wrote: > > > > > > Hello, for most operating systems determining the size of a block > > > device can be done with: > > > > > > lseek(fd, 0, SEEK_END); > > > > On what operating systems does this do what you claim? > > > > > However, on NetBSD this does not seem to work. > > > > It doesn???t work on macOS, either: > > > > thorpej-mbp:thorpej 541$ sudo ./lseek /dev/disk4 > > Password: > > lseek(fd, 4096, SEEK_SET) = 4096 bytes > > lseek(fd, 0, SEEK_END) = 0 bytes > > thorpej-mbp:thorpej 542$ > > > > -- thorpej > > > > Hello, it works on Linux, FreeBSD, Solaris and it also works on NetBSD
I don't think that's correct for all devices on Linux - generally, on Linux systems I have to use the BLKGETSIZE64 ioctl to reliable determine the size of a block device.