Eric Sandeen wrote on 02/16/2009 06:53 PM:
Jim Meyering wrote:
How much code (and how ugly) would be required to distinguish ext4
from ext[23]?
it'd need to be able to do some parsing of the ext2/3/4 feature flags,
so it'd need to know some ext2/3/4 details.
lib/blkid/probe.c in e2fsprogs is an example, see probe_ext2,
probe_ext3, etc. It reads in the superblock and then checks some of the
feature fields, for example:
/* Ext4 has at least one feature which ext3 doesn't understand */
if (!(blkid_le32(es->s_feature_ro_compat) &
EXT3_FEATURE_RO_COMPAT_UNSUPPORTED) &&
!(blkid_le32(es->s_feature_incompat) &
EXT3_FEATURE_INCOMPAT_UNSUPPORTED))
return -BLKID_ERR_PARAM;
so it'd not be rocket science but it might be a lot more fs details than
you'd really want in coreutils, I'm not sure...
Would you mind writing some proof-of-concept code for that?
If it's not too big or ugly, I'd like to teach stat -f
to distinguish ext4 from ext2/3.
Ok, I'll put it on the TODO list. :)
Thanks,
-Eric
Might the linux klibc code for fstype be a source for this?
I'm not sure myself, I just looked in those for klibc-1.5.tar.gz,
(dated 2007, the latest?) and there doesn't to be code for ext4...
bjd
_______________________________________________
Bug-coreutils mailing list
Bug-coreutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-coreutils