{
  "slug": "nfs-grace-period",
  "term": "NFSv4 grace period",
  "aliases": [
    "NFS grace period"
  ],
  "definition": "An NFSv4 grace period is a server recovery interval that protects the reclamation of previously held locking state from conflicting new access.",
  "note": "After loss of locking state, NFSv4.1 permits eligible clients to reclaim prior opens and locks. Requests that could conflict with reclaim receive NFS4ERR_GRACE; the server may allow operations when it can establish they are safe. Grace is therefore not necessarily a complete I/O outage. [grace]\n\nRECLAIM_COMPLETE ends the issuing client's reclaim opportunity for the indicated scope, not the server's grace period for all clients. Recovered locks say nothing about whether uncommitted file bytes survived. [complete]",
  "related": [
    "nfs-storage",
    "nfs-lease",
    "nfs-state-reclaim"
  ],
  "limitations": [
    {
      "text": "Do not assume a universal duration or retry every NFS error as grace.",
      "citationIds": [
        "grace"
      ]
    }
  ],
  "citations": [
    {
      "id": "grace",
      "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"
}
