An obvious +1.  Thanks!

    - Garrett

Roger A. Faulkner wrote:
> I am sponsoring this automatic case for myself.
>
> 1.  Introduction
>
>     This case adds two new functions to the C library,
>     futimens() and utimensat(), as follows:
>
>        #include <sys/stat.h>
>
>        int futimens(int fd, const struct timespec times[2]);
>
>        int utimensat(int fd, const char *path,
>             const struct timespec times[2], int flag);
>
>     The commitment level of these interfaces is Committed.
>
>     The release binding is "patch"
>     (so it can be back-ported to Solaris 10 if required).
>
> 2.  Discussion
>
>     Problems with, for example, make on ZFS file systems have
>     emerged because ZFS keeps access and modification times for
>     its files with nanosecond granularity, while commands such
>     as touch(1) will only set access and modification times of
>     its target files to microsecond granularity (rounded down).
>     See the bugid:
>
>         6539657 touch(1) does not set the nanosecond timestamp
>                 of a file correctly
>
>     The touch(1) command (and possibly others) need a system call
>     interface that sets access and modification times of files
>     with nanosecond granularity.
>
>     Happily, such interfaces have been designed and are specified
>     in the latest SUSv4 Posix interface specification:
>
>        #include <sys/stat.h>
>
>        int futimens(int fd, const struct timespec times[2]);
>
>        int utimensat(int fd, const char *path,
>             const struct timespec times[2], int flag);
>
>     Even though Solaris does not (yet) implement the new Posix
>     standard, there is nothing stopping Solaris from providing
>     a few of the newly-specified interfaces (provided that the
>     names are appropriately hidden from view when an old
>     standards-conforming application is compiled).
>
> 3.  Interface table
>
>     Both functions are Committed.
>     Both are specified by the latest Posix specification.
>
> 4.  References
>
>     6815302 Implement futimens, utimensat(POSIX.1-2008) -
>             set file modification times with nanosecond granularity
>
> 5.  Manual pages.
>
>     See the materials directory for the futimens(2) manual page.
>     This is copied from the Posix specification, with minor changes
>     such as changing "shall" to "will" in the text.
>
> Roger Faulkner
>
>   


Reply via email to