{
  "slug": "ubifs",
  "term": "UBI File System (UBIFS)",
  "aliases": [
    "UBIFS",
    "UBI File System"
  ],
  "definition": "UBIFS is a Linux flash filesystem that stores files on UBI volumes, with an on-flash index and journal recovery while delegating wear and bad-block management to UBI.",
  "note": "The stack is UBIFS over UBI over MTD. Unlike JFFS2's direct MTD use, UBIFS consumes UBI volumes; it is not a filesystem to mount directly on a normal SSD block device. [ubifs]\n\nAn on-flash index avoids rebuilding the entire filesystem index by scanning all its contents at mount. UBIFS also supports write-back, compression and journal replay after an unclean shutdown. Filesystem recovery and recovery of unreadable physical data are different responsibilities. [ubifs] [architecture]\n\nIntegrity checks depend on configuration. The Linux v6.16 documentation lists no_chk_data_crc as the default: skipping CRC checks on file-data nodes can leave file-content corruption unnoticed. chk_data_crc enables those checks. Neither option promises to reconstruct damaged data. [ubifs]\n\nFor an embedded-system report, record the UBI volume, filesystem mount options and underlying MTD device separately so a filesystem symptom is not mistaken for a physical-block diagnosis. This is an operational inference from the layer boundaries. [architecture]\n\nUBIFSec was a research extension, not another name for stock UBIFS. Its 2012 secure-deletion protocol combined atomic replacement of key-storage blocks with erasure flushing and key-state recovery. Cite that protocol separately from ordinary filesystem replay or data-node CRC checks. [dnefs]",
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "related": [
    "ubi",
    "nand-flash",
    "bad-block-management",
    "nand-erase-block",
    "ubi-atomic-leb-change"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-21",
  "citations": [
    {
      "id": "ubifs",
      "title": "Linux v6.16, UBI File System: architecture, recovery and mount options",
      "url": "https://raw.githubusercontent.com/torvalds/linux/v6.16/Documentation/filesystems/ubifs.rst",
      "accessed": "2026-10-21"
    },
    {
      "id": "architecture",
      "title": "Linux kernel, UBIFS Authentication Support: MTD, UBI and UBIFS",
      "url": "https://docs.kernel.org/filesystems/ubifs-authentication.html",
      "accessed": "2026-10-21"
    },
    {
      "id": "dnefs",
      "title": "Reardon, Capkun and Basin, Data Node Encrypted File System: Efficient Secure Deletion for Flash Memory, USENIX Security 2012, sections 2 and 4.2",
      "url": "https://www.usenix.org/system/files/conference/usenixsecurity12/sec12-final74.pdf",
      "accessed": "2026-10-21"
    }
  ],
  "provenance": [
    "The mount-option statement is pinned to Linux v6.16 documentation; check the deployed kernel and effective mount options. No power-loss or corruption test was performed."
  ]
}
