]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
f2fs: disallow direct IO in atomic write
authorChao Yu <yuchao0@huawei.com>
Thu, 25 Jul 2019 14:39:11 +0000 (22:39 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Fri, 23 Aug 2019 14:57:12 +0000 (07:57 -0700)
Atomic write needs page cache to cache data of transaction,
direct IO should never be allowed in atomic write, detect
and deny it when open atomic write file.

Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/file.c

index 1e27b4bc852d8412bdc765a4735cb2b81cfe66be..a5080bea6b0b439b2e6d583be8c63bc32da8c0b2 100644 (file)
@@ -1825,6 +1825,9 @@ static int f2fs_ioc_start_atomic_write(struct file *filp)
        if (!S_ISREG(inode->i_mode))
                return -EINVAL;
 
+       if (filp->f_flags & O_DIRECT)
+               return -EINVAL;
+
        ret = mnt_want_write_file(filp);
        if (ret)
                return ret;