{
  "slug": "short-write",
  "term": "Short write",
  "aliases": [
    "partial write"
  ],
  "definition": "A short write is a successful write operation that reports transferring a positive number of bytes smaller than the requested count.",
  "note": "The returned count identifies the completed prefix, not a durable application record. A later call for the remainder can fail. [write-api] For a privately owned replacement file, account for the accepted bytes before publishing it; synchronization cannot supply bytes never submitted. For a shared append log, retrying the remainder alone avoids duplicating that prefix but does not prevent another writer from intervening between calls. These are protocol implications, not measured failure rates.",
  "advantages": [],
  "limitations": [
    "Not the same as a torn write after interruption.",
    "A direct-I/O error can follow partial modification; a negative return is not always proof of an unchanged range."
  ],
  "related": [
    "pwrite",
    "o-append",
    "o-dsync",
    "fsync",
    "torn-write",
    "writeback-error",
    "writev"
  ],
  "citations": [
    {
      "id": "write-api",
      "title": "Linux man-pages 6.19: write(2), partial writes and errors",
      "url": "https://man7.org/linux/man-pages/man2/write.2.html",
      "accessed": "2026-10-17"
    },
    {
      "id": "hesela-publication",
      "title": "Hesela: Atomic rename is not a durable commit",
      "url": "https://hesela.com/analyses/atomic-rename-directory-durability/",
      "accessed": "2026-10-17"
    }
  ],
  "status": "shipping",
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-17"
}
