{
  "slug": "fast-io-fail-tmo",
  "term": "fast_io_fail_tmo (FC path failure)",
  "aliases": [
    "FC fast I/O failure timeout"
  ],
  "definition": "For Linux SCSI over Fibre Channel, fast_io_fail_tmo is the interval in seconds after a remote-port problem before requesting failure of affected I/O.",
  "note": "The Linux v6.12 FC handler requests failure without promising that every request has finished on return. This is separate from dev_loss_tmo target-removal processing and from a DM-Multipath map's all-paths-down queue policy. [linux-fc-timers]\n\nThe parameter name is not FC-exclusive: RHEL 9 maps DM Multipath's value to iSCSI recovery_tmo, while native NVMe-oF exposes a separate fast_io_fail_tmo alongside controller-reconnection options. Keep the transport and implementation with the setting. [rhel-timers] [libnvme-timers]\n\nThese FC path-loss timers do not trigger if the remote port is never reported lost, even when SCSI commands hang. The manual discusses eh_deadline for that different condition and warns that its HBA reset affects all target paths on the adapter. [multipath-man]",
  "related": [
    "dev-loss-tmo",
    "no-path-retry",
    "multipath-io",
    "io-timeout",
    "fibre-channel"
  ],
  "citations": [
    {
      "id": "linux-fc-timers",
      "title": "Linux v6.12: FC transport loss, fail-fast and target-removal work.",
      "url": "https://raw.githubusercontent.com/torvalds/linux/v6.12/drivers/scsi/scsi_transport_fc.c",
      "accessed": "2026-10-23"
    },
    {
      "id": "rhel-timers",
      "title": "RHEL 9: DM Multipath device-timeout overrides, section 5.7.",
      "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html-single/configuring_device_mapper_multipath/index",
      "accessed": "2026-10-23"
    },
    {
      "id": "libnvme-timers",
      "title": "libnvme v1.11: fabrics connection options, including fast_io_fail_tmo, ctrl_loss_tmo and reconnect_delay.",
      "url": "https://raw.githubusercontent.com/linux-nvme/libnvme/v1.11/src/nvme/fabrics.h",
      "accessed": "2026-10-23"
    },
    {
      "id": "hesela-timeouts",
      "title": "Storage timeouts: an expired timer is not a cancelled write",
      "url": "https://hesela.com/analyses/storage-timeouts-uncertain-completion/",
      "accessed": "2026-10-23"
    },
    {
      "id": "multipath-man",
      "title": "multipath-tools: multipath.conf(5), eh_deadline and FC timeout trigger; pinned commit d53932bdbee02f440518ea384e63d7c4d3f66685.",
      "url": "https://github.com/opensvc/multipath-tools/blob/d53932bdbee02f440518ea384e63d7c4d3f66685/multipath/multipath.conf.5.in",
      "accessed": "2026-10-24"
    }
  ],
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-24",
  "provenance": [
    "FC semantics are scoped to Linux v6.12; iSCSI mapping is documented for RHEL 9, and the separate native NVMe option is listed in libnvme v1.11. No path-loss experiment or application-completion bound is claimed."
  ]
}
