[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <7ab5fb52-8d5b-4de5-78d7-da32254d8d25@wanadoo.fr>
Date: Sat, 6 May 2023 16:17:32 +0200
From: Christophe JAILLET <christophe.jaillet@...adoo.fr>
To: Yangtao Li <frank.li@...o.com>, jaegeuk@...nel.org, chao@...nel.org
Cc: linux-f2fs-devel@...ts.sourceforge.net,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] f2fs: move the conditional statement after holding
the inode lock in f2fs_fallocate()
Le 06/05/2023 à 13:40, Yangtao Li a écrit :
> For judging the inode flag state, the inode lock must be held.
>
> Fixes: fcc85a4d86b5 ("f2fs crypto: activate encryption support for fs APIs")
> Signed-off-by: Yangtao Li <frank.li@...o.com>
> ---
> fs/f2fs/file.c | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
> index 850e745ecf88..0837c500b990 100644
> --- a/fs/f2fs/file.c
> +++ b/fs/f2fs/file.c
> @@ -1801,6 +1801,13 @@ static long f2fs_fallocate(struct file *file, int mode,
> if (!S_ISREG(inode->i_mode))
> return -EINVAL;
>
> + if (mode & ~(FALLOC_FL_KEEP_SIZE | FALLOC_FL_PUNCH_HOLE |
> + FALLOC_FL_COLLAPSE_RANGE | FALLOC_FL_ZERO_RANGE |
> + FALLOC_FL_INSERT_RANGE))
> + return -EOPNOTSUPP;
> +
> + inode_lock(inode);
> +
> if (IS_ENCRYPTED(inode) &&
> (mode & (FALLOC_FL_COLLAPSE_RANGE | FALLOC_FL_INSERT_RANGE)))
> return -EOPNOTSUPP;
ret = -EOPNOTSUPP;
goto out;
here and in some other places below.
Maybe the code should de rearranged another way if
trace_f2fs_fallocate() should not be called in such cases.
CJ
> @@ -1814,13 +1821,6 @@ static long f2fs_fallocate(struct file *file, int mode,
> FALLOC_FL_ZERO_RANGE | FALLOC_FL_INSERT_RANGE)))
> return -EOPNOTSUPP;
>
> - if (mode & ~(FALLOC_FL_KEEP_SIZE | FALLOC_FL_PUNCH_HOLE |
> - FALLOC_FL_COLLAPSE_RANGE | FALLOC_FL_ZERO_RANGE |
> - FALLOC_FL_INSERT_RANGE))
> - return -EOPNOTSUPP;
> -
> - inode_lock(inode);
> -
> ret = file_modified(file);
> if (ret)
> goto out;
Powered by blists - more mailing lists