Re: Compatible fstat()

From: Al Viro
Date: Tue Nov 08 2005 - 12:22:33 EST


On Tue, Nov 08, 2005 at 12:10:25PM -0500, Parag Warudkar wrote:
>
> On Nov 8, 2005, at 10:48 AM, linux-os ((Dick Johnson)) wrote:
>
> >The Linux fstat() doesn't return any information number of blocks,
> >or the byte-length of a physical hard disk.
>
> I don't think (f)stat returns size and blocks information about a
> block device on any UNIX platform.
>
> But I don't know for sure how to get it - perhaps ioctl on the
> device? BLKGETSIZE?

fd = open(bdev, O_RDONLY);
lseek(fd, SEEK_END, 0);
size = lseek(fd, SEEK_SET, 0);
close(fd);

i.e. same as for regular files. Won't be portable, though...
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/