[PATCH] Ext4: Make file creation time, i_version and i_generation available by xattrs

David Howells dhowells at redhat.com
Mon Jun 28 13:38:23 MDT 2010

Andreas Dilger <adilger at dilger.ca> wrote:

> - I'd prefer calling these "file.generation" and "file.version".
>   I don't think there is value in the "i_" prefix adds anything,
>   and it seems more like an internal detail to me

That's reasonable.

> - why not expose the ".version" field for regular files?  It seems
>   that all of them are applicable for all file types.

Because Ext4 doesn't support it for anything other than directories.

> - it would be good to not introduce a new xattr namespace, since
>   tools like tar (even the RHEL-patched one) will not backup and
>   restore these namespaces.  Using "trusted." would allow them to
>   be backed up and restored using existing xattr-patched GNU tar
>   by root, but wouldn't allow them to be modified by regular users.
>   I think this is important for proper backup/restore of a filesystem,
>   but can have correctness implications and shouldn't be accessible
>   to regular users.

Does backing them up make sense, though?  They are filesystem structural
attributes.  Can you restore the inode number, for example?  If not, then you
can't restore i_generation either.  Restoring i_version might make sense, but
what if it winds i_version backwards whilst maintaining i_ino and i_generation,
that means there'll be a time in the future where the three values are once
again what might have been already published - and may already be in someone's
persistent cache.

> > file.crtime=0x53ba244c000000000000000000000000
> Is this a binary (host-endian) struct timespec?

Yes.  That might not be the best representation, however.  It could also be,
say "<decimal-secs>.<decimal-nsecs>", eg: "1234.000000567".

> > file.i_generation=0x0000000000000000
> This seems odd, i_generation should never be zero, AFAIK.

That might be because it's the root directory, and so cannot be replaced.


More information about the samba-technical mailing list