{
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-15",
  "slug": "f2fs-roll-forward-recovery",
  "term": "F2FS roll-forward recovery",
  "aliases": [],
  "definition": "F2FS roll-forward recovery reconstructs selected post-checkpoint file updates from recovery-marked node blocks.",
  "note": "Skipping this path changes the recovered view and is not equivalent to disabling future checkpoints. In upstream v6.16, orphan-inode recovery precedes the fsync-data recovery selection; suppressing roll-forward is therefore not a claim that mounting performs no recovery actions. [mount616] The source audit is not a runtime crash test.",
  "related": [
    "f2fs",
    "f2fs-checkpoint",
    "fsync",
    "btrfs-tree-log"
  ],
  "citations": [
    {
      "id": "lee",
      "title": "Lee, Sim, Hwang and Cho (2015). F2FS: A New File System for Flash Storage. FAST 15, pp. 273-286, section 2.7.",
      "url": "https://www.usenix.org/system/files/conference/fast15/fast15-paper-lee.pdf",
      "accessed": "2026-10-15"
    },
    {
      "id": "mount616",
      "title": "Linux v6.16 fs/f2fs/super.c: mount-time recovery and disabled-checkpoint state.",
      "url": "https://github.com/torvalds/linux/blob/v6.16/fs/f2fs/super.c",
      "accessed": "2026-10-15"
    },
    {
      "id": "hesela-f2fs",
      "title": "F2FS: when a successful fsync is not a recovery promise",
      "url": "https://hesela.com/analyses/f2fs-checkpoint-fsync-recovery/",
      "accessed": "2026-10-15"
    }
  ]
}
