Date: Fri, 14 Aug 2015 14:22:25 -0700 From: Kirk McKusick <mckusick@mckusick.com> To: Julian Elischer <julian@freebsd.org> Cc: "freebsd-fs@freebsd.org" <freebsd-fs@freebsd.org>, "'Jilles Tjoelker'" <jilles@stack.nl>, John Baldwin <jhb@freebsd.org> Subject: Re: futimens and utimensat vs birthtime Message-ID: <201508142122.t7ELMPjR002452@chez.mckusick.com> In-Reply-To: <2405496.WdPSxGzEuT@ralph.baldwin.cx>
next in thread | previous in thread | raw e-mail | index | archive | help
> From: John Baldwin <jhb@freebsd.org> > To: freebsd-current@freebsd.org > Subject: Re: futimens and utimensat vs birthtime > Date: Fri, 14 Aug 2015 10:39:41 -0700 > Cc: "freebsd-fs@freebsd.org" <freebsd-fs@freebsd.org>, > "'Jilles Tjoelker'" <jilles@stack.nl> > > On Friday, August 14, 2015 10:46:10 PM Julian Elischer wrote: >> I would like to implement this call. but would like input as to it's >> nature. >> The code inside the system would already appear to support handling >> three elements, though it needs some scrutiny, >> so all that is needed is a system call with the ability to set the >> birthtime directly. >> >> Whether it should take the form of the existing calls but expecting >> three items is up for discussion. >> Maybe teh addition of a flags argument to specify which items are >> present and which to set. >> >> ideas? > > I believe these should be new calls. Only utimensat() provides a flag > argument, but it is reserved for AT_* flags. I would be fine with > something like futimens3() and utimensat3() (where 3 means "three > timespecs"). Jilles implemented futimens() and utimensat(), so he > might have ideas as well. I would probably stick the birth time in > the third (final) timespec slot to make it easier to update new code > (you can use an #ifdef just around ts[2] without having to #ifdef the > entire block). > > -- > John Baldwin I concur with John's suggestion. Add a new system call with three argument set of times specifying birthtime as the last one. I proposed doing this when I added birthtime, but did not as the sentiment at the time was that it would gratuitously make FreeBSD written applications less portable if they used this new non-standard system call. Kirk McKusick
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201508142122.t7ELMPjR002452>