diff options
Diffstat (limited to 'fs/fuse')
-rw-r--r-- | fs/fuse/file.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/fuse/file.c b/fs/fuse/file.c index 74f6ca500504..77bcc303c3ae 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c | |||
@@ -2727,6 +2727,9 @@ fuse_direct_IO(int rw, struct kiocb *iocb, const struct iovec *iov, | |||
2727 | inode = file->f_mapping->host; | 2727 | inode = file->f_mapping->host; |
2728 | i_size = i_size_read(inode); | 2728 | i_size = i_size_read(inode); |
2729 | 2729 | ||
2730 | if ((rw == READ) && (offset > i_size)) | ||
2731 | return 0; | ||
2732 | |||
2730 | /* optimization for short read */ | 2733 | /* optimization for short read */ |
2731 | if (async_dio && rw != WRITE && offset + count > i_size) { | 2734 | if (async_dio && rw != WRITE && offset + count > i_size) { |
2732 | if (offset >= i_size) | 2735 | if (offset >= i_size) |