]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
btrfs: remove unnecessary NULL fs_info check from find_lock_delalloc_range()
authorQu Wenruo <wqu@suse.com>
Thu, 25 Sep 2025 09:53:22 +0000 (19:23 +0930)
committerDavid Sterba <dsterba@suse.com>
Mon, 24 Nov 2025 20:37:36 +0000 (21:37 +0100)
[STATIC CHECK REPORT]
Smatch is reporting that find_lock_delalloc_range() used to do a null
pointer check before accessing fs_info, but now we're accessing it for
sectorsize unconditionally.

[FALSE ALERT]
This is a false alert, the existing null pointer check is introduced in
commit f7b12a62f008 ("btrfs: replace BTRFS_MAX_EXTENT_SIZE with
fs_info->max_extent_size"), but way before that, commit 7c0260ee098d
("btrfs: tests, require fs_info for root") is already forcing every
btrfs_root to have a correct fs_info pointer.

So there is no way that btrfs_root::fs_info is NULL.

[FIX]
Just remove the unnecessary NULL pointer checker.

Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Fixes: f7b12a62f008 ("btrfs: replace BTRFS_MAX_EXTENT_SIZE with fs_info->max_extent_size")
Closes: https://lore.kernel.org/r/202509250925.4L4JQTtn-lkp@intel.com/
Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent_io.c

index 23273d0e6f22452561fef5b62a255e1bbf94a10d..3804029978ea439edc7dfa522fdab3f2c82e034e 100644 (file)
@@ -374,8 +374,7 @@ noinline_for_stack bool find_lock_delalloc_range(struct inode *inode,
        struct extent_io_tree *tree = &BTRFS_I(inode)->io_tree;
        const u64 orig_start = *start;
        const u64 orig_end = *end;
-       /* The sanity tests may not set a valid fs_info. */
-       u64 max_bytes = fs_info ? fs_info->max_extent_size : BTRFS_MAX_EXTENT_SIZE;
+       u64 max_bytes = fs_info->max_extent_size;
        u64 delalloc_start;
        u64 delalloc_end;
        bool found;