Merge tag 'usb-6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
[platform/kernel/linux-starfive.git] / block / fops.c
index 555b1b9..a286bf3 100644 (file)
@@ -598,21 +598,9 @@ static ssize_t blkdev_read_iter(struct kiocb *iocb, struct iov_iter *to)
                goto reexpand; /* skip atime */
 
        if (iocb->ki_flags & IOCB_DIRECT) {
-               struct address_space *mapping = iocb->ki_filp->f_mapping;
-
-               if (iocb->ki_flags & IOCB_NOWAIT) {
-                       if (filemap_range_needs_writeback(mapping, pos,
-                                                         pos + count - 1)) {
-                               ret = -EAGAIN;
-                               goto reexpand;
-                       }
-               } else {
-                       ret = filemap_write_and_wait_range(mapping, pos,
-                                                          pos + count - 1);
-                       if (ret < 0)
-                               goto reexpand;
-               }
-
+               ret = kiocb_write_and_wait(iocb, count);
+               if (ret < 0)
+                       goto reexpand;
                file_accessed(iocb->ki_filp);
 
                ret = blkdev_direct_IO(iocb, to);