{
  "slug": "direct-io-alignment",
  "term": "Direct-I/O alignment",
  "aliases": [
    "DIO alignment"
  ],
  "definition": "Direct-I/O alignment is the per-file constraint on memory addresses, file offsets and I/O segment lengths used for direct transfers.",
  "note": "On Linux, inspect the returned statx mask before interpreting alignment fields: an absent STATX_DIOALIGN bit means unknown, whereas reported zero base fields mean unsupported direct I/O. A reported nonzero read-specific field can relax read offset and length requirements without relaxing memory alignment. [statx-2]",
  "advantages": [
    "Makes direct-transfer eligibility explicit instead of assuming a universal sector size."
  ],
  "limitations": [
    "Alignment metadata does not prove execution mode, atomicity or durability."
  ],
  "related": [
    "direct-io",
    "buffered-io",
    "page-cache",
    "partition-alignment"
  ],
  "citations": [
    {
      "id": "statx-2",
      "label": "statx(2)",
      "title": "Linux man-pages: statx(2), returned masks and direct-I/O alignment fields.",
      "url": "https://man7.org/linux/man-pages/man2/statx.2.html",
      "accessed": "2026-10-14"
    }
  ],
  "status": "shipping",
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-14"
}
