blob: f5687d2668abd5c39cf8f74ab97415bf71a5cab3 [file] [log] [blame]
#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;
}