[PATCH 1/2] btrfs: remove NULL fs_info checks in subpage helpers
Qu Wenruo <[email protected]>
| Newsgroups | org.kernel.vger.linux-btrfs |
|---|---|
| Message-ID | <6bc3cb3de847ebe8f9c472766ec940b4dc03f5d8.1786095309.git.wqu@suse.com> |
We have several "unlikely(!fs_info)" checks inside subpage helpers, this
behavior was to avoid NULL pointer dereference for extent-io-tests,
where we have a dummy inode for testing but without an fs_info/root for
that testing inode.
However commit b2136cc288fc ("btrfs: tests: allocate dummy fs_info and
root in test_find_delalloc()") changed the test to properly allocate an
fs_info and root, so even for that selftest, we will have a proper
fs_info for btrfs_folio_*() helpers.
So there is no need to do that "unlikely(!fs_info)" check, as it will
always return false now.
Signed-off-by: Qu Wenruo <[email protected]>
---
fs/btrfs/subpage.c | 27 ++++++++-------------------
1 file changed, 8 insertions(+), 19 deletions(-)
diff --git a/fs/btrfs/subpage.c b/fs/btrfs/subpage.c
index ebf18efe1ea3..72402ea156d3 100644
--- a/fs/btrfs/subpage.c
+++ b/fs/btrfs/subpage.c
@@ -246,7 +246,7 @@ void btrfs_folio_end_lock(const struct btrfs_fs_info *fs_info,
ASSERT(folio_test_locked(folio));
- if (unlikely(!fs_info) || !btrfs_is_subpage(fs_info, folio)) {
+ if (!btrfs_is_subpage(fs_info, folio)) {
folio_unlock(folio);
return;
}
@@ -688,18 +688,12 @@ IMPLEMENT_BTRFS_SUBPAGE_TEST_OP(dirty);
IMPLEMENT_BTRFS_SUBPAGE_TEST_OP(writeback);
IMPLEMENT_BTRFS_SUBPAGE_TEST_OP(fixup);
-/*
- * Note that, in selftests (extent-io-tests), we can have empty fs_info passed
- * in. We only test sectorsize == PAGE_SIZE cases so far, thus we can fall
- * back to regular sectorsize branch.
- */
#define IMPLEMENT_BTRFS_PAGE_OPS(name, folio_set_func, \
folio_clear_func, folio_test_func) \
void btrfs_folio_set_##name(const struct btrfs_fs_info *fs_info, \
struct folio *folio, u64 start, u32 len) \
{ \
- if (unlikely(!fs_info) || \
- !btrfs_is_subpage(fs_info, folio)) { \
+ if (!btrfs_is_subpage(fs_info, folio)) { \
folio_set_func(folio); \
return; \
} \
@@ -708,8 +702,7 @@ void btrfs_folio_set_##name(const struct btrfs_fs_info *fs_info, \
void btrfs_folio_clear_##name(const struct btrfs_fs_info *fs_info, \
struct folio *folio, u64 start, u32 len) \
{ \
- if (unlikely(!fs_info) || \
- !btrfs_is_subpage(fs_info, folio)) { \
+ if (!btrfs_is_subpage(fs_info, folio)) { \
folio_clear_func(folio); \
return; \
} \
@@ -718,16 +711,14 @@ void btrfs_folio_clear_##name(const struct btrfs_fs_info *fs_info, \
bool btrfs_folio_test_##name(const struct btrfs_fs_info *fs_info, \
struct folio *folio, u64 start, u32 len) \
{ \
- if (unlikely(!fs_info) || \
- !btrfs_is_subpage(fs_info, folio)) \
+ if (!btrfs_is_subpage(fs_info, folio)) \
return folio_test_func(folio); \
return btrfs_subpage_test_##name(fs_info, folio, start, len); \
} \
void btrfs_folio_clamp_set_##name(const struct btrfs_fs_info *fs_info, \
struct folio *folio, u64 start, u32 len) \
{ \
- if (unlikely(!fs_info) || \
- !btrfs_is_subpage(fs_info, folio)) { \
+ if (!btrfs_is_subpage(fs_info, folio)) { \
folio_set_func(folio); \
return; \
} \
@@ -737,8 +728,7 @@ void btrfs_folio_clamp_set_##name(const struct btrfs_fs_info *fs_info, \
void btrfs_folio_clamp_clear_##name(const struct btrfs_fs_info *fs_info, \
struct folio *folio, u64 start, u32 len) \
{ \
- if (unlikely(!fs_info) || \
- !btrfs_is_subpage(fs_info, folio)) { \
+ if (!btrfs_is_subpage(fs_info, folio)) { \
folio_clear_func(folio); \
return; \
} \
@@ -748,8 +738,7 @@ void btrfs_folio_clamp_clear_##name(const struct btrfs_fs_info *fs_info, \
bool btrfs_folio_clamp_test_##name(const struct btrfs_fs_info *fs_info, \
struct folio *folio, u64 start, u32 len) \
{ \
- if (unlikely(!fs_info) || \
- !btrfs_is_subpage(fs_info, folio)) \
+ if (!btrfs_is_subpage(fs_info, folio)) \
return folio_test_func(folio); \
btrfs_subpage_clamp_range(folio, &start, &len); \
return btrfs_subpage_test_##name(fs_info, folio, start, len); \
@@ -882,7 +871,7 @@ void btrfs_folio_set_lock(const struct btrfs_fs_info *fs_info,
int ret;
ASSERT(folio_test_locked(folio));
- if (unlikely(!fs_info) || !btrfs_is_subpage(fs_info, folio))
+ if (!btrfs_is_subpage(fs_info, folio))
return;
bfs = folio_get_private(folio);
--
2.54.0