Re: [PATCH next] btrfs: Fix reversed condition in copy_inline_to_page()

From: Li Zetao
Date: Wed Aug 28 2024 - 08:54:41 EST


Hi Dan,

在 2024/8/27 18:21, Dan Carpenter 写道:
This if statement is reversed leading to locking issues.

Fixes: 8e603cfe05f0 ("btrfs: convert copy_inline_to_page() to use folio")
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
---
This patch is obviously correct but it's from static analysis so additional
testing would be good as well.

fs/btrfs/reflink.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/btrfs/reflink.c b/fs/btrfs/reflink.c
index 1681d63f03dd..f0824c948cb7 100644
--- a/fs/btrfs/reflink.c
+++ b/fs/btrfs/reflink.c
@@ -146,7 +146,7 @@ static int copy_inline_to_page(struct btrfs_inode *inode,
btrfs_folio_clear_checked(fs_info, folio, file_offset, block_size);
btrfs_folio_set_dirty(fs_info, folio, file_offset, block_size);
out_unlock:
- if (IS_ERR(folio)) {
+ if (!IS_ERR(folio)) {
This is a mistake caused by my carelessness,thank you for the patch
folio_unlock(folio);
folio_put(folio);
}

Can I merge your patch into my patchset and add you as a co-author?

Thanks,
Li Zetao.