2020-10-12 06:13:38

by Daeho Jeong

[permalink] [raw]
Subject: [PATCH] f2fs: fix writecount false positive in releasing compress blocks

From: Daeho Jeong <[email protected]>

In current condition check, if it detects writecount, it return -EBUSY
regardless of f_mode of the file. Fixed it.

Signed-off-by: Daeho Jeong <[email protected]>
---
fs/f2fs/file.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index 0a958eef3d1f..ef5a844de53f 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -3509,7 +3509,8 @@ static int f2fs_release_compress_blocks(struct file *filp, unsigned long arg)
inode_lock(inode);

writecount = atomic_read(&inode->i_writecount);
- if ((filp->f_mode & FMODE_WRITE && writecount != 1) || writecount) {
+ if ((filp->f_mode & FMODE_WRITE && writecount != 1) ||
+ (!(filp->f_mode & FMODE_WRITE) && writecount)) {
ret = -EBUSY;
goto out;
}
--
2.28.0.1011.ga647a8990f-goog


2020-10-12 09:21:45

by Chao Yu

[permalink] [raw]
Subject: Re: [f2fs-dev] [PATCH] f2fs: fix writecount false positive in releasing compress blocks

On 2020/10/12 12:59, Daeho Jeong wrote:
> From: Daeho Jeong <[email protected]>
>
> In current condition check, if it detects writecount, it return -EBUSY
> regardless of f_mode of the file. Fixed it.
>
> Signed-off-by: Daeho Jeong <[email protected]>

Reviewed-by: Chao Yu <[email protected]>

Thanks,