utimes(2): changing the birth time

Gary Jennejohn gljennjohn at googlemail.com
Wed May 12 18:38:29 UTC 2010


On Wed, 12 May 2010 17:53:38 +0000
Knowledge Seeker <knoseeker at googlemail.com> wrote:

> Hi,
> Is there a way to set birth time to a value greater(newer) than the actual
> birth time (not in the future, but not the current time)?
> The man page utimes(2) says that is only possible to change to an older
> value.
> 
> I saw a way to do this by opening a new file, coping the data, setting the
> other attributes, then calling utimes 2 times to set the birth and the
> modification time.
> 
> Is there a way to change it without creating a new file?
> 

Not with the current code.  vfs_syscalls.c:setutimes() explicitly checks
that the new time is less than va_birthtime.

Interestingly enough, there's code in the routine to handle what this
comment in utimes(2) mentions, but it's not implemented yet.

"Ideally a new system call will be added that allows the setting of all
three times at once."

--
Gary Jennejohn


More information about the freebsd-hackers mailing list