Re: A syscall for changing birth time

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 10, 2025 at 10:12:43PM +0000, David Laight wrote:
> 
> I'm sure that hadn't used to be the case.
> But as some point the 'ctime' changed from something that was usually
> the file create time (for some definition of create) to a pretty useless
> time that is almost a waste of disk space.

ctime was "inode change time" in BSD 4.2, released in 1983.  So it's
been "change time" and not "creation time" for at least 42 years.

It might have been "creation time" back in the V7 Unix days, but I'd
gently suggest that after over four decades, arguing that we get to
change the semantics of an inode timestamp because we think know
better.... is not really justification for breaking backwards
compatibility.


I'd also note that trying to add "creation time" has all sorts of
interesting questions.  The way all pretty much all text editors work
when you save some file, at least if they are compotently implemented,
is to *NOT* truncate the existing file, and then rewrite it with the
new contents, but rather, to write the contents to "foo.c.new", then
rename "foo.c" to "foo.c.old", and then rename "foo.c.new" to "foo.c".

So pretty much all text editors that exist in Unix today will result
in the "creation time" to be pretty much the same "last moification
time" (within a few milliseconds; however long it takes to write the
file).

So without changing pretty much all userspace tools which rewrite
files, adding a "creation time" to Linux would be pretty much useless.
For example, what should git do when you run "git checkout"?  Should
itfigure out which git commit a file was first tracked in git, and use
that time stamp for the file's "creation time".  That would take a
fairly large effort for git, especially if it needs to be performant
--- and is it *really* all that useful to know when a file was first
created in the git history and to make it available as a file system
timestamp?

This really goes to my question of exactly how useful the file
creation time concept really is.  Perhaps that's why the developers at
the UC Berkley made ctime be "inode change time", I suspect when they
authored the BSD Fast File System 42 years ago.  Personally, while I
don't find "change time" to be all that useful --- I find "creation
time" an order of magnitude *more* useless.  :-)

					- Ted




[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux