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 > >