btrfs: use btrfs_warn() to log message at btrfs_add_extent_mapping()
At btrfs_add_extent_mapping(), if we failed to merge the extent map, which is unexpected and theoretically should never happen, we use WARN_ONCE() to log a message which is not great because we don't get information about which filesystem it relates to in case we have multiple btrfs filesystems mounted. So change this to use btrfs_warn() and surround the error check with WARN_ON() so we always get a useful stack trace and the condition is flagged as "unlikely" since it's not expected to ever happen. Reviewed-by: Qu Wenruo <wqu@suse.com> Reviewed-by: Anand Jain <anand.jain@oracle.com> Signed-off-by: Filipe Manana <fdmanana@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
committed by
David Sterba
parent
379c872393
commit
2133460061
@ -629,11 +629,11 @@ int btrfs_add_extent_mapping(struct btrfs_fs_info *fs_info,
|
|||||||
*/
|
*/
|
||||||
ret = merge_extent_mapping(em_tree, existing,
|
ret = merge_extent_mapping(em_tree, existing,
|
||||||
em, start);
|
em, start);
|
||||||
if (ret) {
|
if (WARN_ON(ret)) {
|
||||||
free_extent_map(em);
|
free_extent_map(em);
|
||||||
*em_in = NULL;
|
*em_in = NULL;
|
||||||
WARN_ONCE(ret,
|
btrfs_warn(fs_info,
|
||||||
"extent map merge error existing [%llu, %llu) with em [%llu, %llu) start %llu\n",
|
"extent map merge error existing [%llu, %llu) with em [%llu, %llu) start %llu",
|
||||||
existing->start, extent_map_end(existing),
|
existing->start, extent_map_end(existing),
|
||||||
orig_start, orig_start + orig_len, start);
|
orig_start, orig_start + orig_len, start);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user