{
  "slug": "readv",
  "term": "readv",
  "aliases": [
    "readv()",
    "vectored read",
    "scatter input"
  ],
  "definition": "readv reads data from a file descriptor into an ordered array of memory buffers.",
  "note": "Buffers are filled in array order: each earlier buffer is filled before the next receives data, and the returned count is the total bytes transferred across the vector. A successful short read can therefore stop inside a buffer; it does not make the remaining capacity valid input. Python's os.readv exposes this ordered-buffer contract [python-os-readv]. On a seekable file, readv uses the open file description's current file offset and advances it by the bytes actually read [linux-read-position]. This differs from preadv's explicit-position contract. The vector supplies memory destinations, not separate file offsets [linux-readv-contract].",
  "status": "shipping",
  "advantages": [
    "Places input into multiple caller-provided buffers in one call."
  ],
  "limitations": [
    "A nonnegative return count does not guarantee that every buffer was filled.",
    "Buffer count is bounded by the implementation's IOV_MAX limit."
  ],
  "related": [
    "preadv",
    "pread",
    "short-read",
    "file-offset",
    "open-file-description",
    "writev"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-02",
  "citations": [
    {
      "id": "linux-readv-contract",
      "title": "Linux man-pages: readv(2), DESCRIPTION, RETURN VALUE and NOTES",
      "url": "https://man7.org/linux/man-pages/man2/readv.2.html",
      "accessed": "2026-11-02"
    },
    {
      "id": "linux-read-position",
      "title": "Linux man-pages: read(2), DESCRIPTION and RETURN VALUE",
      "url": "https://man7.org/linux/man-pages/man2/read.2.html",
      "accessed": "2026-11-02"
    },
    {
      "id": "python-os-readv",
      "title": "Python documentation: os.readv",
      "url": "https://docs.python.org/3.12/library/os.html#os.readv",
      "accessed": "2026-11-02"
    }
  ],
  "provenance": [
    "Primary API documentation reviewed 2026-11-02; no native measurement, throughput test or storage-failure estimate."
  ]
}
