diff options
| author | Dongjiang Zhu <zhudongjiang@fnnas.com> | 2026-07-13 16:50:10 +0800 |
|---|---|---|
| committer | David Sterba <dsterba@suse.com> | 2026-07-21 06:41:11 +0200 |
| commit | c438d34ec1eed4d23e2081d61c5e96f5176898a9 (patch) | |
| tree | 9f707f969410afca8e7aba5beda37d2c9fff5ea7 /tools/perf/scripts/python/task-analyzer.py | |
| parent | 51a0e8399858621442807a26057bcd1cd3ced046 (diff) | |
btrfs: report missing raid stripe tree root during lookup
When rescue=ibadroots ignores a failure to load the raid stripe tree root,
fs_info->stripe_root remains NULL. After the rescue mount proceeds, reading
file data that requires the raid stripe tree reaches
btrfs_get_raid_extent_offset().
Currently btrfs_search_slot() handles the NULL root and returns -EINVAL.
This avoids a NULL pointer dereference, but provides no diagnostic and
incorrectly describes missing filesystem metadata as an invalid argument.
Check stripe_root before allocating a path, emit a rate-limited error with
the logical address, and return -EUCLEAN.
Lookups with a valid stripe root are unchanged.
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Dongjiang Zhu <zhudongjiang@fnnas.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'tools/perf/scripts/python/task-analyzer.py')
0 files changed, 0 insertions, 0 deletions
