{
  "slug": "lazytime",
  "term": "Lazy timestamp persistence",
  "aliases": [
    "lazytime",
    "MS_LAZYTIME"
  ],
  "definition": "Lazytime is a Linux filesystem policy that defers writing selected inode timestamp changes to storage while retaining their updated values in memory.",
  "note": "The policy applies to atime, mtime and ctime. Documented persistence triggers include other inode changes, fsync(), syncfs(), sync(), eviction of an undeleted inode and aged timestamp writeback. strictatime and lazytime can be combined: update selection and persistence are separate decisions. [linux-mount-flags]\n\nDo not interpret the manual's 24-hour description as an unconditional durability deadline. Linux v6.12 initializes its dirtytime interval to 12 hours and describes possible two-interval behavior; dirtytime_expire_seconds tunes both writeback eligibility and worker wakeups. [linux-dirtytime-v612] [linux-vm-dirtytime]\n\nfdatasync() may omit atime and mtime updates because those fields are not needed to retrieve file data. It is not interchangeable with fsync() when timestamp persistence matters. Neither policy establishes payload identity or a consistent backup snapshot. [linux-fsync]",
  "related": [
    "relatime",
    "file-access-time",
    "file-modification-time",
    "inode-change-time",
    "fsync",
    "fdatasync"
  ],
  "citations": [
    {
      "id": "linux-mount-flags",
      "title": "Linux mount(2): MS_LAZYTIME and timestamp policy",
      "url": "https://man7.org/linux/man-pages/man2/mount.2.html",
      "accessed": "2026-11-09"
    },
    {
      "id": "linux-dirtytime-v612",
      "title": "Linux v6.12 fs/fs-writeback.c: dirtytime interval and writeback",
      "url": "https://github.com/torvalds/linux/blob/v6.12/fs/fs-writeback.c#L53",
      "accessed": "2026-11-09"
    },
    {
      "id": "linux-vm-dirtytime",
      "title": "Linux 6.12 VM documentation: dirtytime_expire_seconds",
      "url": "https://docs.kernel.org/6.12/admin-guide/sysctl/vm.html#dirtytime-expire-seconds",
      "accessed": "2026-11-09"
    },
    {
      "id": "linux-fsync",
      "title": "Linux fsync(2): timestamp metadata and fdatasync",
      "url": "https://man7.org/linux/man-pages/man2/fsync.2.html",
      "accessed": "2026-11-09"
    },
    {
      "id": "hesela-timestamp-policies",
      "title": "Hesela: timestamp selection is separate from persistence",
      "url": "https://hesela.com/analyses/rsync-delta-shifted-blocks/#timestamp-policies",
      "accessed": "2026-11-09"
    }
  ],
  "status": "shipping",
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-09",
  "advantages": [
    "Can defer timestamp-only inode writes while keeping current timestamps visible in memory."
  ],
  "limitations": [
    "Timestamp updates still pending in memory may be lost in a crash.",
    "A scheduling interval is not proof that a particular update reached storage."
  ],
  "provenance": [
    "Source synthesis, with implementation details scoped to Linux v6.12; no crash test or measured performance claim."
  ]
}
