diff options
author | Karel Zak <kzak@redhat.com> | 2006-12-07 00:26:54 +0100 |
---|---|---|
committer | Karel Zak <kzak@redhat.com> | 2006-12-07 00:26:54 +0100 |
commit | 48d7b13a1eab85fab91c8d6c5ddf298f733c74f5 (patch) | |
tree | 8813d36590ee3361bd75f57a12fd2032e9296ddb /fdisk/disksize.c | |
parent | 2ab8f9d3cec110ce8291f2525fe90239aeef8376 (diff) | |
download | util-linux-old-48d7b13a1eab85fab91c8d6c5ddf298f733c74f5.tar.gz |
Imported from util-linux-2.13-pre1 tarball.
Diffstat (limited to 'fdisk/disksize.c')
-rw-r--r-- | fdisk/disksize.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/fdisk/disksize.c b/fdisk/disksize.c index f5687d26..28b8df0a 100644 --- a/fdisk/disksize.c +++ b/fdisk/disksize.c @@ -1,3 +1,4 @@ +#include <errno.h> #include "common.h" int disksize(int fd, unsigned long long *sectors) { @@ -6,8 +7,11 @@ int disksize(int fd, unsigned long long *sectors) { long long b; err = ioctl(fd, BLKGETSIZE, &sz); - if (err) - return err; + if (err) { + sz = 0; + if (errno != EFBIG) + return err; + } err = ioctl(fd, BLKGETSIZE64, &b); if (err || b == 0 || b == sz) *sectors = sz; |