Btrfs Deprecating Its Integrity Checker Tool
Btrfs has long provided a built-in integrity checker tool into the file-system driver. However, slated for Linux 6.6 is deprecating of this integrity checker.
The Btrfs integrity checker tool can be optionally enabled to verify the state of the file-system on-disk is always consistent. This integrity checker shouldn't be needed during normal conditions and under usual Btrfs file-system operations, but can be useful if wanting to ensure the integrity of the file-system or if recently encountering a kernel panic or power-loss event. Except now Btrfs developers have deemed it not useful enough to keep it around and it posing a maintenance burden without enough testing/usage.
Enabling this integrity checker requires a kernel built with BTRFS_FS_CHECK_INTEGRITY enabled as well as having passed the integrity checker mount options when mounting the Btrfs file-system.
This patch by SUSE's Qu Wenruo has made it into the Btrfs "for-next" kernel tree to deprecate the built-in integrity checker. The justification for deprecating it and then potentially removing it already for Linux 6.7 comes down to:
This change is expected alongside other Btrfs feature work for the Linux 6.6 cycle.
The Btrfs integrity checker tool can be optionally enabled to verify the state of the file-system on-disk is always consistent. This integrity checker shouldn't be needed during normal conditions and under usual Btrfs file-system operations, but can be useful if wanting to ensure the integrity of the file-system or if recently encountering a kernel panic or power-loss event. Except now Btrfs developers have deemed it not useful enough to keep it around and it posing a maintenance burden without enough testing/usage.
Enabling this integrity checker requires a kernel built with BTRFS_FS_CHECK_INTEGRITY enabled as well as having passed the integrity checker mount options when mounting the Btrfs file-system.
This patch by SUSE's Qu Wenruo has made it into the Btrfs "for-next" kernel tree to deprecate the built-in integrity checker. The justification for deprecating it and then potentially removing it already for Linux 6.7 comes down to:
"The integrity checker feature needs to be enabled at compile time (BTRFS_FS_CHECK_INTEGRITY) and then enabled by mount options check_int*.
Although it provides some unique features which can not be provided by any other sanity checks like tree-checker, it does not only have high CPU and memory overhead, but is also a maintenance burden.
For example, it's the only caller of btrfs_map_block() with @need_raid_map = 0.
Considering most btrfs developers are not even testing this feature, I'm here to propose deprecation of this feature.
For now only warning messages will be printed, the feature itself would still work.
Removal time has been set to 6.7 release."
This change is expected alongside other Btrfs feature work for the Linux 6.6 cycle.
26 Comments