Encrypted inode for regular file should not have inline_data. Here we check encrypted inode before convert of inline inode to avoid redundant convert.
Signed-off-by: Zhang Zhen <zhenzhang.zh...@huawei.com> --- fs/f2fs/data.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index a82abe9..ec2270a 100644 --- a/fs/f2fs/data.c +++ b/fs/f2fs/data.c @@ -1535,6 +1535,9 @@ static ssize_t f2fs_direct_IO(struct kiocb *iocb, struct iov_iter *iter, size_t count = iov_iter_count(iter); int err; + if (f2fs_encrypted_inode(inode) && S_ISREG(inode->i_mode)) + return 0; + /* we don't need to use inline_data strictly */ if (f2fs_has_inline_data(inode)) { err = f2fs_convert_inline_inode(inode); @@ -1542,9 +1545,6 @@ static ssize_t f2fs_direct_IO(struct kiocb *iocb, struct iov_iter *iter, return err; } - if (f2fs_encrypted_inode(inode) && S_ISREG(inode->i_mode)) - return 0; - err = check_direct_IO(inode, iter, offset); if (err) return err; -- 1.9.1 . ------------------------------------------------------------------------------ _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel