Btrfs tree log
The Btrfs tree log is a per-subvolume recovery structure that can persist file or directory changes for fsync without a full filesystem transaction commit.
The Linux v6.16 fsync path can also fall back to a full commit. Mount-time replay can write even on a read-only mount. Upstream Linux 6.16 removed standalone nologreplay; rescue=nologreplay remains available and requires read-only mounting. Suppressing replay can hide recent logged changes, while btrfs rescue zero-log clears the log and may lose them. [2] [3] [4] [6]
Relations
- related
- btrfs, copy-on-write, fsync, data-scrubbing
Limitations
- A source-registration audit does not test actual recovery or distribution backports. [5]
- notreelog and rescue=nologreplay control different flags; rescue=all additionally disables checksum checks. [5]
Citations
- Linux v6.16: Btrfs tree-log.c, design comment and replay implementation
- Linux v6.16: Btrfs file.c, btrfs_sync_file and transaction-commit fallback
- Btrfs documentation: btrfs(5), tree logging and rescue mount options
- Btrfs feature-by-version: rescue in 5.9 and standalone nologreplay removal in 6.16
- Linux v6.16: Btrfs super.c, option registration and read-only checks
- Btrfs documentation: btrfs-rescue(8), zero-log and possible loss of changes
- Hesela: Btrfs tree logs, read-only replay and version boundaries