{
  "slug": "scsi-dpo",
  "term": "SCSI Disable Page Out",
  "aliases": [
    "DPO",
    "Disable Page Out"
  ],
  "definition": "SCSI Disable Page Out requests low cache-retention priority for the blocks accessed by a command.",
  "note": "DPO=1 selects the lowest retention priority; DPO=0 uses the caching mode page. It is separate from FUA and does not establish persistence or a physical-media read. [scsi-dpo-manual]\n\nLinux v6.16 target code advertises DPO alongside FUA while treating DPO as a no-op hint. Its command parser checks support for DPO but sets SCF_FUA only for the separate FUA bit. Command acceptance therefore does not demonstrate cache eviction. [dpo-linux-spc] [dpo-linux-sbc]",
  "status": "shipping",
  "advantages": [],
  "limitations": [
    {
      "text": "A supported retention hint does not guarantee a performance improvement or an empty cache.",
      "citationIds": [
        "dpo-linux-spc"
      ]
    }
  ],
  "related": [
    "force-unit-access",
    "scsi-verify",
    "cache-admission"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-08",
  "citations": [
    {
      "id": "scsi-dpo-manual",
      "title": "Seagate SCSI Commands Reference Manual Rev. L (2020), section 3.18, p. 150: DPO and READ FUA.",
      "url": "https://www.seagate.com/files/staticfiles/support/docs/manual/Interface%20manuals/100293068L.pdf#page=150",
      "accessed": "2026-11-08"
    },
    {
      "id": "dpo-linux-spc",
      "title": "Linux v6.16 target_core_spc.c: spc_emulate_modesense and the DPO no-op implementation.",
      "url": "https://github.com/torvalds/linux/blob/v6.16/drivers/target/target_core_spc.c#L988-L994",
      "accessed": "2026-11-08"
    },
    {
      "id": "dpo-linux-sbc",
      "title": "Linux v6.16 target_core_sbc.c: sbc_check_dpofua validates DPO separately from setting SCF_FUA.",
      "url": "https://github.com/torvalds/linux/blob/v6.16/drivers/target/target_core_sbc.c#L696-L717",
      "accessed": "2026-11-08"
    }
  ],
  "provenance": [
    "Manual and pinned implementation review; no physical-device experiment or cache-performance measurement."
  ]
}
