{
  "slug": "nfs-state-reclaim",
  "term": "NFSv4 state reclaim",
  "aliases": [
    "NFS lock reclaim",
    "NFS open reclaim"
  ],
  "definition": "NFSv4 state reclaim is the recovery of previously held open and locking state after the server loses that state, rather than the acquisition of unrelated new locks.",
  "note": "In NFSv4.1, clients reclaim eligible state during server recovery and send RECLAIM_COMPLETE when finished. Before obtaining new locking state with a new client ID, the global form (rca_one_fs = FALSE) is required even when there is nothing to reclaim. The file-system-specific form (rca_one_fs = TRUE) concerns migration and does not replace the global requirement. After completion, remaining prior locks in that scope cannot be reclaimed; new locking requests may still receive NFS4ERR_GRACE while server-wide grace continues. [reclaim] [complete]\n\nReclaim does not replay lost file contents or restore a backup. Data stability and write-verifier recovery remain separate concerns; a v3 COMMIT trace is not a v4.1 state-recovery procedure. [reclaim]",
  "related": [
    "nfs-storage",
    "nfs-grace-period",
    "nfs-lease",
    "nfs-stateid",
    "nfs-commit"
  ],
  "limitations": [
    {
      "text": "A rejected reclaim is not proof that the original lock still excludes other clients.",
      "citationIds": [
        "reclaim",
        "complete"
      ]
    }
  ],
  "citations": [
    {
      "id": "reclaim",
      "title": "RFC 8881 (NFSv4.1), section 8.4.2.1, State Reclaim.",
      "url": "https://www.rfc-editor.org/rfc/rfc8881.html#section-8.4.2.1",
      "accessed": "2026-10-18"
    },
    {
      "id": "complete",
      "title": "RFC 8881 (NFSv4.1), section 18.51.3, RECLAIM_COMPLETE description.",
      "url": "https://www.rfc-editor.org/rfc/rfc8881.html#section-18.51.3",
      "accessed": "2026-10-18"
    },
    {
      "id": "hesela-stability",
      "title": "NFS stable writes: what COMMIT, flush and FUA actually promise",
      "url": "https://hesela.com/analyses/nfs-stable-writes-flush-fua/#state-recovery",
      "accessed": "2026-10-18"
    }
  ],
  "status": "shipping",
  "advantages": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-18"
}
