{
  "status": "shipping",
  "advantages": [],
  "limitations": [
    {
      "text": "A space map alone cannot identify which file owns a unit or reconstruct the order of its contents.",
      "citationIds": [
        "linux-bitmap",
        "linux-fat"
      ]
    }
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-20",
  "slug": "allocation-bitmap",
  "term": "Allocation bitmap",
  "aliases": [
    "space allocation bitmap"
  ],
  "definition": "An allocation bitmap encodes the allocation state of storage units as bits.",
  "note": "The unit depends on the format: ext4 has inode and block-allocation bitmaps, but bigalloc makes each block-bitmap bit represent a cluster of multiple blocks. ExFAT uses cluster allocation bits. Ext4's uninitialized-group handling also means a raw bitmap need not be interpreted without its metadata context. [ext4-bitmap] [ext4-bigalloc] [exfat-spec]\n\nLinux v6.12's exFAT implementation searches bitmap bits for free clusters and counts set bits for used-cluster accounting. Neither operation traverses a file's ordered chain. When freeing a cluster, clearing its bit and automatically issuing discard are separate steps; this discard depends on the mount option. The separate trim operation can also issue discard. [linux-bitmap]",
  "related": [
    "exfat",
    "fat-cluster-chain",
    "free-space-fragmentation",
    "file-preallocation",
    "trim"
  ],
  "citations": [
    {
      "id": "ext4-bitmap",
      "title": "Linux kernel documentation: ext4 block and inode bitmaps",
      "url": "https://docs.kernel.org/filesystems/ext4/bitmaps.html",
      "accessed": "2026-10-20"
    },
    {
      "id": "linux-bitmap",
      "title": "Linux v6.12: exFAT allocation bitmap operations, fs/exfat/balloc.c",
      "url": "https://github.com/torvalds/linux/blob/v6.12/fs/exfat/balloc.c",
      "accessed": "2026-10-20"
    },
    {
      "id": "linux-fat",
      "title": "Linux v6.12: exFAT chain traversal and allocation, fs/exfat/fatent.c",
      "url": "https://github.com/torvalds/linux/blob/v6.12/fs/exfat/fatent.c",
      "accessed": "2026-10-20"
    },
    {
      "id": "exfat-spec",
      "title": "Microsoft exFAT specification: sections 3.1.10, 6.3.4.2, 7.1 and 7.6",
      "url": "https://learn.microsoft.com/en-us/windows/win32/fileio/exfat-specification",
      "accessed": "2026-10-20"
    },
    {
      "id": "ext4-bigalloc",
      "title": "Linux kernel documentation: ext4 bigalloc and clustered allocation",
      "url": "https://docs.kernel.org/filesystems/ext4/bigalloc.html",
      "accessed": "2026-10-20"
    }
  ]
}
