summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/file.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/file.c')
-rw-r--r--fs/btrfs/file.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index 9e75d8a39aac..e62dd55b4079 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -1886,6 +1886,10 @@ static ssize_t btrfs_file_write_iter(struct kiocb *iocb,
1886 loff_t oldsize; 1886 loff_t oldsize;
1887 int clean_page = 0; 1887 int clean_page = 0;
1888 1888
1889 if (!(iocb->ki_flags & IOCB_DIRECT) &&
1890 (iocb->ki_flags & IOCB_NOWAIT))
1891 return -EOPNOTSUPP;
1892
1889 if (!inode_trylock(inode)) { 1893 if (!inode_trylock(inode)) {
1890 if (iocb->ki_flags & IOCB_NOWAIT) 1894 if (iocb->ki_flags & IOCB_NOWAIT)
1891 return -EAGAIN; 1895 return -EAGAIN;
@@ -3105,7 +3109,7 @@ out:
3105 3109
3106static int btrfs_file_open(struct inode *inode, struct file *filp) 3110static int btrfs_file_open(struct inode *inode, struct file *filp)
3107{ 3111{
3108 filp->f_mode |= FMODE_AIO_NOWAIT; 3112 filp->f_mode |= FMODE_NOWAIT;
3109 return generic_file_open(inode, filp); 3113 return generic_file_open(inode, filp);
3110} 3114}
3111 3115