diff options
author | Karel Zak <kzak@redhat.com> | 2006-12-07 00:26:18 +0100 |
---|---|---|
committer | Karel Zak <kzak@redhat.com> | 2006-12-07 00:26:18 +0100 |
commit | 2cccd0ff2b26c782dbd05d589b7695cab5e17458 (patch) | |
tree | 45ebc5937d2e083c12b58bdeffc1b1a2046c9598 /fdisk/disksize.c | |
parent | c129767e063c5c9839cc9d94c34fd88dac3fb9a6 (diff) | |
download | util-linux-old-2cccd0ff2b26c782dbd05d589b7695cab5e17458.tar.gz |
Imported from util-linux-2.12d tarball.
Diffstat (limited to 'fdisk/disksize.c')
-rw-r--r-- | fdisk/disksize.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/fdisk/disksize.c b/fdisk/disksize.c new file mode 100644 index 00000000..a0a210e9 --- /dev/null +++ b/fdisk/disksize.c @@ -0,0 +1,17 @@ +#include "common.h" + +int disksize(int fd, unsigned long long *sectors) { + int err; + long sz; + long long b; + + err = ioctl (fd, BLKGETSIZE, &sz); + if (err) + return err; + err = ioctl(fd, BLKGETSIZE64, &b); + if (err || b == 0 || b == sz) + *sectors = sz; + else + *sectors = (b >> 9); + return 0; +} |