Direct-I/O alignment
Direct-I/O alignment is the per-file constraint on memory addresses, file offsets and I/O segment lengths used for direct transfers.
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. [1]
Relations
- related
- direct-io, buffered-io, page-cache, partition-alignment
Advantages
- Makes direct-transfer eligibility explicit instead of assuming a universal sector size.
Limitations
- Alignment metadata does not prove execution mode, atomicity or durability.