]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
btrfs: fix warning messages not printing interval at unpin_extent_range()
authorFilipe Manana <fdmanana@suse.com>
Wed, 13 Mar 2024 12:49:31 +0000 (12:49 +0000)
committerDavid Sterba <dsterba@suse.com>
Tue, 26 Mar 2024 15:42:38 +0000 (16:42 +0100)
At unpin_extent_range() we print warning messages that are supposed to
print an interval in the form "[X, Y)", with the first element being an
inclusive start offset and the second element being the exclusive end
offset of a range. However we end up printing the range's length instead
of the range's exclusive end offset, so fix that to avoid having confusing
and non-sense messages in case we hit one of these unexpected scenarios.

Fixes: 00deaf04df35 ("btrfs: log messages at unpin_extent_range() during unexpected cases")
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 e03953dbcd5ef5ae157ea0844762cc34f8b67133..2cfc6e8cf76f290f6fc8694add53f58068d4ec1d 100644 (file)
@@ -309,7 +309,7 @@ int unpin_extent_cache(struct btrfs_inode *inode, u64 start, u64 len, u64 gen)
                btrfs_warn(fs_info,
 "no extent map found for inode %llu (root %lld) when unpinning extent range [%llu, %llu), generation %llu",
                           btrfs_ino(inode), btrfs_root_id(inode->root),
-                          start, len, gen);
+                          start, start + len, gen);
                ret = -ENOENT;
                goto out;
        }
@@ -318,7 +318,7 @@ int unpin_extent_cache(struct btrfs_inode *inode, u64 start, u64 len, u64 gen)
                btrfs_warn(fs_info,
 "found extent map for inode %llu (root %lld) with unexpected start offset %llu when unpinning extent range [%llu, %llu), generation %llu",
                           btrfs_ino(inode), btrfs_root_id(inode->root),
-                          em->start, start, len, gen);
+                          em->start, start, start + len, gen);
                ret = -EUCLEAN;
                goto out;
        }