diff options
Diffstat (limited to 'fs/fat/inode.c')
-rw-r--r-- | fs/fat/inode.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/fat/inode.c b/fs/fat/inode.c index a1a39f571e78..342d791b28db 100644 --- a/fs/fat/inode.c +++ b/fs/fat/inode.c | |||
@@ -255,7 +255,7 @@ static ssize_t fat_direct_IO(int rw, struct kiocb *iocb, | |||
255 | size_t count = iov_iter_count(iter); | 255 | size_t count = iov_iter_count(iter); |
256 | ssize_t ret; | 256 | ssize_t ret; |
257 | 257 | ||
258 | if (rw == WRITE) { | 258 | if (iov_iter_rw(iter) == WRITE) { |
259 | /* | 259 | /* |
260 | * FIXME: blockdev_direct_IO() doesn't use ->write_begin(), | 260 | * FIXME: blockdev_direct_IO() doesn't use ->write_begin(), |
261 | * so we need to update the ->mmu_private to block boundary. | 261 | * so we need to update the ->mmu_private to block boundary. |
@@ -275,7 +275,7 @@ static ssize_t fat_direct_IO(int rw, struct kiocb *iocb, | |||
275 | * condition of fat_get_block() and ->truncate(). | 275 | * condition of fat_get_block() and ->truncate(). |
276 | */ | 276 | */ |
277 | ret = blockdev_direct_IO(iocb, inode, iter, offset, fat_get_block); | 277 | ret = blockdev_direct_IO(iocb, inode, iter, offset, fat_get_block); |
278 | if (ret < 0 && (rw & WRITE)) | 278 | if (ret < 0 && iov_iter_rw(iter) == WRITE) |
279 | fat_write_failed(mapping, offset + count); | 279 | fat_write_failed(mapping, offset + count); |
280 | 280 | ||
281 | return ret; | 281 | return ret; |