{
  "slug": "directory-fsync",
  "term": "Directory fsync",
  "aliases": [
    "directory synchronization",
    "parent-directory fsync"
  ],
  "definition": "Directory fsync is synchronization of a directory descriptor to persist directory state, including changes to the names through which files are reached.",
  "note": "On Linux, a file sync does not necessarily persist its directory entry. Keep the name-persistence boundary separate from content persistence when reviewing replacement protocols; directory synchronization is not a transaction across arbitrary files.",
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-11",
  "related": [
    "fsync",
    "persistence-ordering",
    "crash-consistency"
  ],
  "citations": [
    {
      "id": "fsync-api",
      "title": "Linux man-pages 6.19, fsync(2): DESCRIPTION and error handling.",
      "url": "https://man7.org/linux/man-pages/man2/fsync.2.html",
      "accessed": "2026-10-11"
    },
    {
      "id": "hesela-rename",
      "title": "Hesela: Atomic rename is not a durable commit",
      "url": "https://hesela.com/analyses/atomic-rename-directory-durability/",
      "accessed": "2026-10-11"
    }
  ]
}
