Message ID | 3a05145b-6c24-4101-948e-1a457b92ea3e@stanley.mountain (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [next] btrfs: Fix reversed condition in copy_inline_to_page() | expand |
On Tue, Aug 27, 2024 at 01:21:08PM +0300, Dan Carpenter wrote: > This if statement is reversed leading to locking issues. > > Fixes: 8e603cfe05f0 ("btrfs: convert copy_inline_to_page() to use folio") This is from series that appeared in linux-next for a short time and has been removed due to problems, one if which might be the one you report. Thanks.
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@linaro.org> > --- > 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.
On Wed, Aug 28, 2024 at 08:53:44PM +0800, Li Zetao wrote: > 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@linaro.org> > > --- > > 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? Just merge it. No need for co-author credit for something tiny like this. :P regards, dan carpenter
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)) { folio_unlock(folio); folio_put(folio); }
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@linaro.org> --- 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(-)