{
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-21",
  "slug": "wandering-tree-problem",
  "term": "Wandering tree problem",
  "aliases": [
    "Wandering-tree update propagation"
  ],
  "definition": "The wandering tree problem is recursive metadata rewriting caused when out-of-place updates change addresses referenced by ancestor blocks.",
  "note": "Moving a data block can require rewriting its direct pointer block, then an indirect pointer block and higher metadata. F2FS reduces this propagation by assigning identifiers to nodes and maintaining their locations in NAT. The problem is address-update propagation, not directory traversal. [manual]\n\nThe FAST 2015 design still maintains checkpoint metadata and performs cleaning. Removing one propagation path does not eliminate those costs or establish a workload-independent write-amplification factor. [lee]",
  "related": [
    "f2fs",
    "f2fs-node-address-table",
    "f2fs-checkpoint",
    "copy-on-write",
    "write-amplification"
  ],
  "citations": [
    {
      "id": "manual",
      "title": "Linux 6.12 F2FS documentation: wandering tree, on-disk layout and metadata structure.",
      "url": "https://docs.kernel.org/6.12/filesystems/f2fs.html",
      "accessed": "2026-10-21"
    },
    {
      "id": "lee",
      "title": "Lee, Sim, Hwang and Cho (2015). F2FS: A New File System for Flash Storage. FAST 2015, sections 2.1, 2.2 and 2.7.",
      "url": "https://www.usenix.org/system/files/conference/fast15/fast15-paper-lee.pdf",
      "accessed": "2026-10-21"
    },
    {
      "id": "hesela-f2fs",
      "title": "F2FS: when a successful fsync is not a recovery promise",
      "url": "https://hesela.com/analyses/f2fs-checkpoint-fsync-recovery/#metadata-indirection",
      "accessed": "2026-10-21"
    }
  ]
}
