Jim Meyering wrote: > In http://bugzilla.redhat.com/485507 > > Eric Sandeen proposed to add ext4 to the list of names > currently reported for that type of file system ("ext2/ext3"). > > I'm reluctant to change that string, because doing so might > well break scripts that rely on them: > > case $(stat -f --format %T .) in > ext2/ext3) ;; > *) destroy_partition ;; > esac > > Sure, script writers might well anticipate this and > prefer to use the %t directive to get the type in hexadecimal, > but that's far less readable. > > 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... -Eric _______________________________________________ Bug-coreutils mailing list Bug-coreutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-coreutils