blob: 8908aaa677440af43340d22711edf5d7b3939551 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
diff -r 46fd786b5562 -r 69fad9bdafc0 lib/blkid/getsize.c
--- a/lib/blkid/getsize.c Mon May 29 11:47:49 2006 -0400
+++ b/lib/blkid/getsize.c Tue May 30 00:54:49 2006 +0200
@@ -121,6 +121,12 @@ blkid_loff_t blkid_get_dev_size(int fd)
if (ioctl(fd, BLKGETSIZE, &size) >= 0)
return (blkid_loff_t)size << 9;
#endif
+
+/* tested on FreeBSD 6.1-RELEASE i386 */
+#ifdef DIOCGMEDIASIZE
+ if (ioctl(fd, DIOCGMEDIASIZE, &size64) >= 0)
+ return (off_t)size64;
+#endif /* DIOCGMEDIASIZE */
#ifdef FDGETPRM
if (ioctl(fd, FDGETPRM, &this_floppy) >= 0)
|