]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
btrfs: use btrfs_warn() to log message at btrfs_add_extent_mapping()
authorFilipe Manana <fdmanana@suse.com>
Wed, 13 Mar 2024 17:14:02 +0000 (17:14 +0000)
committerDavid Sterba <dsterba@suse.com>
Tue, 26 Mar 2024 15:42:39 +0000 (16:42 +0100)
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>
fs/btrfs/extent_map.c

index 16685cb8a91d8561e86861a93197de219760c0f9..445f7716f1e2f70b3f780e7c1f03d020f0eb6346 100644 (file)
@@ -629,13 +629,13 @@ int btrfs_add_extent_mapping(struct btrfs_fs_info *fs_info,
                         */
                        ret = merge_extent_mapping(em_tree, existing,
                                                   em, start);
-                       if (ret) {
+                       if (WARN_ON(ret)) {
                                free_extent_map(em);
                                *em_in = NULL;
-                               WARN_ONCE(ret,
-"extent map merge error existing [%llu, %llu) with em [%llu, %llu) start %llu\n",
-                                         existing->start, extent_map_end(existing),
-                                         orig_start, orig_start + orig_len, start);
+                               btrfs_warn(fs_info,
+"extent map merge error existing [%llu, %llu) with em [%llu, %llu) start %llu",
+                                          existing->start, extent_map_end(existing),
+                                          orig_start, orig_start + orig_len, start);
                        }
                        free_extent_map(existing);
                }