[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug 485507] RFE: add ext4 to "stat -f" output
From: |
Eric Sandeen |
Subject: |
Re: [Bug 485507] RFE: add ext4 to "stat -f" output |
Date: |
Mon, 16 Feb 2009 11:26:13 -0600 |
User-agent: |
Thunderbird 2.0.0.19 (X11/20090105) |
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