{
  "slug": "tape-filemark",
  "term": "Tape filemark",
  "aliases": [
    "filemark",
    "tape mark"
  ],
  "definition": "A tape filemark is a recorded logical delimiter separating files in a sequential tape stream.",
  "note": "A mark is not itself a universal acknowledgement that earlier data reached the medium: immediate command semantics can allow buffered completion. IBM 3592 WRITE FILEMARKS with IMMED=0 and count=0 instead synchronizes pending data and marks without adding a delimiter. [ibm-3592] Linux MTWEOFI and MT_ST_NOWAIT_EOF require particular care when interpreting completion. [linux-st]",
  "related": [
    "tape",
    "lto",
    "tape-buffer-synchronization"
  ],
  "limitations": [
    {
      "text": "File boundaries and confirmed medium completion are distinct properties.",
      "citationIds": [
        "ibm-3592",
        "linux-st"
      ]
    }
  ],
  "status": "shipping",
  "advantages": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-16",
  "citations": [
    {
      "id": "linux-st",
      "title": "Linux v6.12: SCSI tape driver, buffering and MT_ST_NOWAIT_EOF",
      "url": "https://github.com/torvalds/linux/blob/v6.12/Documentation/scsi/st.rst",
      "accessed": "2026-10-16"
    },
    {
      "id": "linux-st-code",
      "title": "Linux v6.12 st.c: st_flush, st_set_options and st_int_ioctl",
      "url": "https://github.com/torvalds/linux/blob/v6.12/drivers/scsi/st.c#L2804",
      "accessed": "2026-10-16"
    },
    {
      "id": "ibm-3592",
      "title": "IBM 3592 SCSI Reference GA32-0968-07, section 5.2.52, page 199 (2026)",
      "url": "https://www.ibm.com/support/pages/system/files/inline-files/3592%20SCSI%20Reference_GA32-0968-07.pdf#page=231",
      "accessed": "2026-10-16"
    }
  ]
}
