]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - fs/iomap.c
Merge tag 'xfs-4.12-merge-7' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
[karo-tx-linux.git] / fs / iomap.c
index 1c25ae30500e675b0ae69905feff7d0040e0e3cd..1faabe09b8fdb20f8dc355cc06ce452013ce64ec 100644 (file)
@@ -360,7 +360,8 @@ static int iomap_dax_zero(loff_t pos, unsigned offset, unsigned bytes,
        sector_t sector = iomap->blkno +
                (((pos & ~(PAGE_SIZE - 1)) - iomap->offset) >> 9);
 
-       return __dax_zero_page_range(iomap->bdev, sector, offset, bytes);
+       return __dax_zero_page_range(iomap->bdev, iomap->dax_dev, sector,
+                       offset, bytes);
 }
 
 static loff_t
@@ -909,6 +910,9 @@ iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter,
                        break;
                }
                pos += ret;
+
+               if (iov_iter_rw(iter) == READ && pos >= dio->i_size)
+                       break;
        } while ((count = iov_iter_count(iter)) > 0);
        blk_finish_plug(&plug);