{
  "slug": "nfs-commit",
  "term": "NFS COMMIT",
  "aliases": [
    "NFSv3 COMMIT"
  ],
  "definition": "NFSv3 COMMIT requests stable storage of previously buffered writes and associated metadata for a specified file range.",
  "note": "RFC 1813 section 3.3.21 defines the operation; count zero means from offset to end of file. The client compares the returned verifier with those associated with its outstanding writes, retransmitting uncommitted buffers if the verifier changes. A successful status alone is insufficient evidence that earlier volatile data survived a server restart. This is a file-range persistence operation, not a transaction across several files; NFSv4 recovery is outside this record's scope.",
  "status": "shipping",
  "advantages": [
    {
      "text": "Allows clients to batch unstable writes before requesting their persistence.",
      "citationIds": [
        "rfc1813"
      ]
    }
  ],
  "limitations": [
    {
      "text": "Cannot recover a lost client copy of data that never reached stable server storage.",
      "citationIds": [
        "rfc1813"
      ]
    }
  ],
  "related": [
    "nfs-storage",
    "nfs-write-verifier",
    "cache-flush",
    "fsync"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "citations": [
    {
      "id": "rfc1813",
      "title": "B. Callaghan, B. Pawlowski and P. Staubach. NFS Version 3 Protocol Specification. RFC 1813, June 1995, sections 3.3.7, 3.3.21 and 4.8.",
      "url": "https://www.rfc-editor.org/rfc/rfc1813.html",
      "accessed": "2026-10-12"
    },
    {
      "id": "hesela-stability",
      "title": "NFS stable writes: what COMMIT, flush and FUA actually promise",
      "url": "https://hesela.com/analyses/nfs-stable-writes-flush-fua/",
      "accessed": "2026-10-12"
    }
  ],
  "updated": "2026-10-12"
}
