aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2025-08-07 09:35:20 -0400
committerTheodore Ts'o <tytso@mit.edu>2025-08-12 23:15:05 -0400
commitc5e104a91e7b6fa12c1dc2d8bf84abb7ef9b89ad (patch)
treeeecfccdcc26463c3747cd006d131e736ccb6ea0b /tools/perf/scripts/python
parentext4: fix reserved gdt blocks handling in fsmap (diff)
downloadwireguard-linux-c5e104a91e7b6fa12c1dc2d8bf84abb7ef9b89ad.tar.xz
wireguard-linux-c5e104a91e7b6fa12c1dc2d8bf84abb7ef9b89ad.zip
ext4: don't try to clear the orphan_present feature block device is r/o
When the file system is frozen in preparation for taking an LVM snapshot, the journal is checkpointed and if the orphan_file feature is enabled, and the orphan file is empty, we clear the orphan_present feature flag. But if there are pending inodes that need to be removed the orphan_present feature flag can't be cleared. The problem comes if the block device is read-only. In that case, we can't process the orphan inode list, so it is skipped in ext4_orphan_cleanup(). But then in ext4_mark_recovery_complete(), this results in the ext4 error "Orphan file not empty on read-only fs" firing and the file system mount is aborted. Fix this by clearing the needs_recovery flag in the block device is read-only. We do this after the call to ext4_load_and_init-journal() since there are some error checks need to be done in case the journal needs to be replayed and the block device is read-only, or if the block device containing the externa journal is read-only, etc. Cc: stable@kernel.org Link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1108271 Cc: stable@vger.kernel.org Fixes: 02f310fcf47f ("ext4: Speedup ext4 orphan inode handling") Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions