[Bug 276209] Implement relative atime ("relatime") mount option

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 08 Jan 2024 23:01:30 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276209

            Bug ID: 276209
           Summary: Implement relative atime ("relatime") mount option
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: delphij@FreeBSD.org

Creating a bug so this is not forgotten.

Linux kernel has a feature called "relative atime", which changes atime update
behavior to only perform the update when:

 - Current atime is older than either of mtime or ctime, or
 - Current atime is older than a day.

This behavior is made default on Linux since 2.6.30.

The following needs to be done:

1. Create a new mount flag, MNT_RELATIME (sys/sys/mount.h) and adjust
sys/kern/vfs_mount.c so that:

  - When none of [no]atime, relatime are present, MNT_RELATIME is set;
  - Otherwise, [no]atime resets MNT_RELATIME and set MNT_NOATIME accordingly;
  - "norelatime" alone means "atime".

2. statfs(2) and mount(8) are updated to reflect MNT_RELATIME flag, add support
for the new flag.

3. Extend existing file systems to support this feature.  The following
filesystems supports MNT_NOATIME and should be extended: ZFS, ext2fs, fuse,
msdosfs, ufs.

4. Linux compatibility layer: compat/linprocfs/linprocfs.c,
compat/linux/linux_stats.c should be extended to support the new flag.

-- 
You are receiving this mail because:
You are the assignee for the bug.