mirror of https://github.com/vitalif/e2fsprogs
Revise DIOCGDINFO (sys/disklabel.h) related FreeBSD comment.
Signed-off-by: Matthias Andree <matthias.andree@gmx.de>bitmap-optimize
parent
5beaabb0f8
commit
a0dfc6ea8c
|
@ -133,11 +133,14 @@ blkid_loff_t blkid_get_dev_size(int fd)
|
|||
return (blkid_loff_t)this_floppy.size << 9;
|
||||
#endif
|
||||
#ifdef HAVE_SYS_DISKLABEL_H
|
||||
#if 1
|
||||
/*
|
||||
* This should work in theory but I haven't tested it. Anyone
|
||||
* on a BSD system want to test this for me? In the meantime,
|
||||
* binary search mechanism should work just fine.
|
||||
* This code works for FreeBSD 4.11 i386, except for the full device
|
||||
* (such as /dev/ad0). It doesn't work properly for newer FreeBSD
|
||||
* though. FreeBSD >= 5.0 should be covered by the DIOCGMEDIASIZE
|
||||
* above however.
|
||||
*
|
||||
* Note that FreeBSD >= 4.0 has disk devices as unbuffered (raw,
|
||||
* character) devices, so we need to check for S_ISCHR, too.
|
||||
*/
|
||||
if ((fstat(fd, &st) >= 0) && (S_ISBLK(st.st_mode) || S_ISCHR(st.st_mode)))
|
||||
part = st.st_rdev & 7;
|
||||
|
@ -146,7 +149,6 @@ blkid_loff_t blkid_get_dev_size(int fd)
|
|||
if (pp->p_size)
|
||||
return pp->p_size << 9;
|
||||
}
|
||||
#endif
|
||||
#endif /* HAVE_SYS_DISKLABEL_H */
|
||||
{
|
||||
#ifdef HAVE_FSTAT64
|
||||
|
|
Loading…
Reference in New Issue