]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blobdiff - fs/ext4/file.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[mirror_ubuntu-focal-kernel.git] / fs / ext4 / file.c
index 57dcaea762c37c5aff02df20215dcb8d69bfbd97..b1da660ac3bcf97c8cd799fcc6823a23666c8ea5 100644 (file)
@@ -223,6 +223,8 @@ ext4_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
        if (IS_DAX(inode))
                return ext4_dax_write_iter(iocb, from);
 #endif
+       if (!o_direct && (iocb->ki_flags & IOCB_NOWAIT))
+               return -EOPNOTSUPP;
 
        if (!inode_trylock(inode)) {
                if (iocb->ki_flags & IOCB_NOWAIT)
@@ -371,7 +373,7 @@ static int ext4_file_open(struct inode * inode, struct file * filp)
                return -EIO;
 
        if (unlikely(!(sbi->s_mount_flags & EXT4_MF_MNTDIR_SAMPLED) &&
-                    !(sb->s_flags & MS_RDONLY))) {
+                    !sb_rdonly(sb))) {
                sbi->s_mount_flags |= EXT4_MF_MNTDIR_SAMPLED;
                /*
                 * Sample where the filesystem has been mounted and
@@ -431,9 +433,7 @@ static int ext4_file_open(struct inode * inode, struct file * filp)
                        return ret;
        }
 
-       /* Set the flags to support nowait AIO */
-       filp->f_mode |= FMODE_AIO_NOWAIT;
-
+       filp->f_mode |= FMODE_NOWAIT;
        return dquot_file_open(inode, filp);
 }