ext4 - getting at birth time (file create time) and getting/setting nanosecond time stamps and utime
smfrench at gmail.com
Tue Oct 20 15:37:08 MDT 2009
On Tue, Oct 20, 2009 at 4:23 PM, Sunil Mushran <sunil.mushran at oracle.com> wrote:
> Steve French wrote:
>> On Tue, Oct 20, 2009 at 3:59 PM, Sunil Mushran <sunil.mushran at oracle.com>
>>> Steve French wrote:
>>>> So, are we ready for Mingming or one of the ext4 developers to propose
>>>> a patch for this via xattrs (I can do a similar one for cifs).
>>>> Sounds like various have said:
>>>> 1) xattrs instead of ioctl
>>>> 2) get of create time allowed by default, but set of create time limited
>>>> But for the second part of this - how should we set nanosecond
>>>> timestamps for the others (or in Samba's case, rounded to 100
>>>> nanoseconds for DCE time) ... a millisecond granularity for utimes is
>>>> a very long time these days.
>>> What's wrong with stat(2)? AFAIK, it supports nanoseconds.
>> An earlier post from Mingming IIRC noted that utimes does not support
>> setting nanosecond timestamps (e.g. write time).
>> "The function utime() allows specification of time stamps with a
>> resolution of 1 second. ... The function utimes() is similar, but the
>> times argument allows a reso lution of 1 microsecond for the
>> timestamps. " 1 millisecond is not sufficient, and as a result Samba
>> has to store duplicate time stamps (in Samba specific xattrs) which we
>> would like to avoid wherever possible
> If you are trying to update it, you can use utimensat(2).
Looks like that should work based on what I see in fs/utimes.c ... but
I have heard from two that think it doesn't work, so time to test it
the libc is not new enough on this system ... ugh).
More information about the samba-technical