On Wed Oct 28, 2026 at 3:56 PM CET, Pedro Falcato wrote: > On Wed, Oct 28, 2026 at 02:47:27PM +0100, koraynilay wrote: >> Add provenance time (ptime), indicating the time when a file or >> directory was created. This is user-settable via file_setattr() and >> retrievable via statx(2) (using STATX_PTIME) or file_getattr(). >> >> The semantics of when to preserve this new timestamp are the same as >> mtime, the idea being that there is a correspondence like this: >> >> ctime <-> btime >> mtime <-> ptime >> >> so every operation (copying, moving, ...) that currently preserves mtime >> should also preserve ptime. >> >> Furthermore, in order to avoid the legacy FS_IOC_FSSETXATTR accepting >> FS_XFLAG_PTIME, add an FS_FILE_ATTR_XFLAGS_MASK mask to support new >> xflags, and use it in fileattr_to_file_attr()/file_attr_to_fileattr() to >> allow ptime to be used with the file_setattr()/file_getattr() syscalls. > > Random comment, but: could this be doable with xattrs instead? I'm not sure > where I would put the xattrs code (if in userspace exclusively, or if hooking > the VFS up with this, or if doing it on the filesystem side), but it would > surely be less disruptive than modifying a bunch of filesystems one-by-one. > Thanks for the comment, I actually wanted to include the "why not xattr" explanation in the cover letter but totally forgot lol. I actually have been using fully userspace xattrs[1] for a few months, mostly for backups, and it "works"; but last week I wanted to merge 2 FSs (and have another merge I have to do), so I ran [1] on all files and then compared all metadata/data between source and destination and noticed there were quite a lot of files that didn't have the xattr set. So I looked online and learned that xattrs only work on regular files/directories, not on symlinks or anything else (and the missing ones were of symlinks). This is what prompted me to search more if anyone had already proposed a new timestamp (instead of making btime settable) and found the linked email thread from april, which gave me the excuse to finally work on a proper patch. [1]: https://github.com/koraynilay/btime-to-xattr > This patch is quite simple, but changing btrfs, then ext4, xfs, etc is a > mess, and inevitably you can't get these timestamps until you upgrade your > filesystems. So yeah while I do agree it touches a lot of code that could create problems, IMO this is the best solution and it would complete files' timestamps like other OSs have (and this, I think, is necessary for both backup/archival and migrations). Best, koraynilay