summaryrefslogtreecommitdiff
path: root/extlinux/extlinux.c
diff options
context:
space:
mode:
Diffstat (limited to 'extlinux/extlinux.c')
-rw-r--r--extlinux/extlinux.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/extlinux/extlinux.c b/extlinux/extlinux.c
index 34c00f87..13f1f346 100644
--- a/extlinux/extlinux.c
+++ b/extlinux/extlinux.c
@@ -282,9 +282,12 @@ uint64_t get_size(int devfd)
uint32_t sects;
struct stat st;
+#ifdef BLKGETSIZE64
if ( !ioctl(devfd, BLKGETSIZE64, &bytes) )
return bytes;
- else if ( !ioctl(devfd, BLKGETSIZE, &sects) )
+#endif
+
+ if ( !ioctl(devfd, BLKGETSIZE, &sects) )
return (uint64_t)sects << 9;
else if ( !fstat(devfd, &st) && st.st_size )
return st.st_size;