{
  "slug": "inode-change-time",
  "term": "Inode change time",
  "aliases": [
    "ctime",
    "Status change time",
    "Last status change time"
  ],
  "definition": "Inode change time (ctime) is the filesystem timestamp of the latest change to a file's inode status, including content writes and changes to selected metadata.",
  "note": "On Linux, writes and changes to permissions, ownership or link count update ctime. It is not creation time; btime is a separate field where supported. Setting atime or mtime with utimensat() normally updates ctime, even if the requested values are unchanged; specifying UTIME_OMIT for both timestamps leaves all timestamps unchanged. [linux-inode] [linux-utimensat]\n\nThe default rsync quick check does not compare ctime. A ctime change alone therefore does not ensure that rsync reads or transfers file contents. [rsync-manual]\n\nA stat-family call does not freeze the file. Returned fields can reflect different instants when another process changes metadata. A descriptor identifies the open file but does not provide a consistent backup snapshot. [linux-stat]",
  "related": [
    "inode",
    "file-modification-time",
    "file-access-time",
    "file-birth-time",
    "rsync-quick-check"
  ],
  "citations": [
    {
      "id": "linux-inode",
      "title": "Linux man-pages: inode(7)",
      "url": "https://man7.org/linux/man-pages/man7/inode.7.html",
      "accessed": "2026-10-21"
    },
    {
      "id": "linux-utimensat",
      "title": "Linux man-pages: utimensat(2)",
      "url": "https://man7.org/linux/man-pages/man2/utimensat.2.html",
      "accessed": "2026-10-21"
    },
    {
      "id": "linux-stat",
      "title": "Linux man-pages: stat(2), concurrent metadata observations",
      "url": "https://man7.org/linux/man-pages/man2/stat.2.html",
      "accessed": "2026-10-21"
    },
    {
      "id": "rsync-manual",
      "title": "rsync(1): default quick-check file selection",
      "url": "https://download.samba.org/pub/rsync/rsync.1",
      "accessed": "2026-10-21"
    },
    {
      "id": "hesela-file-times",
      "title": "Hesela: interpreting file timestamps during rsync selection",
      "url": "https://hesela.com/analyses/rsync-delta-shifted-blocks/#file-times",
      "accessed": "2026-10-21"
    }
  ],
  "status": "shipping",
  "advantages": [
    "Distinguishes inode status changes from content modification time."
  ],
  "limitations": [
    "Does not identify which content or metadata changed.",
    "Not a file creation timestamp or a complete audit trail."
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-21"
}
