summaryrefslogtreecommitdiff
path: root/fdisk/disksize.c
diff options
context:
space:
mode:
authorKarel Zak <kzak@redhat.com>2007-11-07 19:05:31 +0100
committerKarel Zak <kzak@redhat.com>2007-11-07 19:05:31 +0100
commit810f986b42ff7ecc805d134ef32013c3343df31e (patch)
treea3bed44c8f415166ea2d75dbb202793762f1ae43 /fdisk/disksize.c
parentb7188e932e86137cacdf1ac74847d100b561c302 (diff)
downloadutil-linux-old-810f986b42ff7ecc805d134ef32013c3343df31e.tar.gz
fdisk: cleanup BLK* ioctls usage
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'fdisk/disksize.c')
-rw-r--r--fdisk/disksize.c54
1 files changed, 0 insertions, 54 deletions
diff --git a/fdisk/disksize.c b/fdisk/disksize.c
deleted file mode 100644
index cc00e933..00000000
--- a/fdisk/disksize.c
+++ /dev/null
@@ -1,54 +0,0 @@
-#include <stdio.h>
-#include <ctype.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <errno.h>
-#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) {
- sz = 0;
- if (errno != EFBIG)
- return err;
- }
- err = ioctl(fd, BLKGETSIZE64, &b);
- if (err || b == 0 || b == sz)
- *sectors = sz;
- else
- *sectors = (b >> 9);
- return 0;
-}
-
-int
-is_probably_full_disk(char *name) {
-#ifdef HDIO_GETGEO
- struct hd_geometry geometry;
- int fd, i = 0;
-
- fd = open(name, O_RDONLY);
- if (fd >= 0) {
- i = ioctl(fd, HDIO_GETGEO, &geometry);
- close(fd);
- }
- if (i==0)
- return (fd >= 0 && geometry.start == 0);
-#endif
- /*
- * The "silly heuristic" is still sexy for us, because
- * for example Xen doesn't implement HDIO_GETGEO for virtual
- * block devices (/dev/xvda).
- *
- * -- kzak@redhat.com (23-Feb-2006)
- */
- while (*name)
- name++;
- return !isdigit(name[-1]);
-}
-