]> git.ipfire.org Git - thirdparty/linux.git/commit
btrfs: log messages at unpin_extent_range() during unexpected cases
authorFilipe Manana <fdmanana@suse.com>
Mon, 4 Dec 2023 16:20:29 +0000 (16:20 +0000)
committerDavid Sterba <dsterba@suse.com>
Fri, 15 Dec 2023 21:59:01 +0000 (22:59 +0100)
commit00deaf04df35536d192544ea57b6da9a88519422
treebfc4c8a97bdaddd7f3bd2542fa5cd3b34bd6c92b
parentd224d2ef959a768fc88242224d8527e5f88789b6
btrfs: log messages at unpin_extent_range() during unexpected cases

At unpin_extent_range() we trigger a WARN_ON() when we don't find an
extent map or we find one with a start offset not matching the start
offset of the target range. This however isn't very useful for debugging
because:

1) We don't know which condition was triggered, as they are both in the
   same WARN_ON() call;

2) We don't know which inode was affected, from which root, for which
   range, what's the start offset of the extent map, and so on.

So trigger a separate warning for each case and log a message for each
case providing information about the inode, its root, the target range,
the generation and the start offset of the extent map we found.

Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent_map.c
fs/btrfs/extent_map.h
fs/btrfs/inode.c