aboutsummaryrefslogtreecommitdiffstats
path: root/fs/affs/file.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/affs/file.c')
-rw-r--r--fs/affs/file.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/affs/file.c b/fs/affs/file.c
index 1edc0d4b40db..7f05a468d594 100644
--- a/fs/affs/file.c
+++ b/fs/affs/file.c
@@ -398,7 +398,7 @@ affs_direct_IO(int rw, struct kiocb *iocb, struct iov_iter *iter,
398 size_t count = iov_iter_count(iter); 398 size_t count = iov_iter_count(iter);
399 ssize_t ret; 399 ssize_t ret;
400 400
401 if (rw == WRITE) { 401 if (iov_iter_rw(iter) == WRITE) {
402 loff_t size = offset + count; 402 loff_t size = offset + count;
403 403
404 if (AFFS_I(inode)->mmu_private < size) 404 if (AFFS_I(inode)->mmu_private < size)
@@ -406,7 +406,7 @@ affs_direct_IO(int rw, struct kiocb *iocb, struct iov_iter *iter,
406 } 406 }
407 407
408 ret = blockdev_direct_IO(iocb, inode, iter, offset, affs_get_block); 408 ret = blockdev_direct_IO(iocb, inode, iter, offset, affs_get_block);
409 if (ret < 0 && (rw & WRITE)) 409 if (ret < 0 && iov_iter_rw(iter) == WRITE)
410 affs_write_failed(mapping, offset + count); 410 affs_write_failed(mapping, offset + count);
411 return ret; 411 return ret;
412} 412}