Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Aug 2015 23:46:16 +0200
From:      Jilles Tjoelker <jilles@stack.nl>
To:        Julian Elischer <julian@freebsd.org>
Cc:        John Baldwin <jhb@freebsd.org>, freebsd-current@freebsd.org, "freebsd-fs@freebsd.org" <freebsd-fs@freebsd.org>
Subject:   Re: futimens and utimensat vs birthtime
Message-ID:  <20150816214616.GA38422@stack.nl>
In-Reply-To: <55D09D8D.7010206@freebsd.org>
References:  <55CDFF32.7050601@freebsd.org> <2405496.WdPSxGzEuT@ralph.baldwin.cx> <55D09D8D.7010206@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Aug 16, 2015 at 10:26:21PM +0800, Julian Elischer wrote:
> On 8/15/15 1:39 AM, John Baldwin wrote:
> > 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.

Using AT_* flags for things unrelated to pathnames is not without
precedent: AT_REMOVEDIR for unlinkat() and AT_EACCESS for faccessat().
This isn't suitable for a large number of flags, though.

> I wasn't suggesting we keep the old ones and silently make them take 3 
> args :-)
> I was thining of suplementing them wth new syscalls and the obvious 
> names are those you suggested.
> however I do wonder if there will ever be a need for a 4th...

This could be indicated by yet another flag.

I'm a bit disappointed that setting birthtimes apparently wasn't needed
when I added futimens and utimensat. However, they are not part of any
release yet, so it may be possible to remove them at some point.

-- 
Jilles Tjoelker



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150816214616.GA38422>