]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - fs/iomap.c
Merge tag 'libnvdimm-for-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdim...
[mirror_ubuntu-artful-kernel.git] / fs / iomap.c
index 4ec0d6ac8bc11092ef34650befce680a27726696..4add7d4ad006ab8a78f71369c06253c678293ff9 100644 (file)
@@ -888,16 +888,14 @@ iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter,
                flags |= IOMAP_WRITE;
        }
 
-       if (mapping->nrpages) {
-               ret = filemap_write_and_wait_range(mapping, start, end);
-               if (ret)
-                       goto out_free_dio;
+       ret = filemap_write_and_wait_range(mapping, start, end);
+       if (ret)
+               goto out_free_dio;
 
-               ret = invalidate_inode_pages2_range(mapping,
-                               start >> PAGE_SHIFT, end >> PAGE_SHIFT);
-               WARN_ON_ONCE(ret);
-               ret = 0;
-       }
+       ret = invalidate_inode_pages2_range(mapping,
+                       start >> PAGE_SHIFT, end >> PAGE_SHIFT);
+       WARN_ON_ONCE(ret);
+       ret = 0;
 
        inode_dio_begin(inode);
 
@@ -952,7 +950,7 @@ iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter,
         * one is a pretty crazy thing to do, so we don't support it 100%.  If
         * this invalidation fails, tough, the write still worked...
         */
-       if (iov_iter_rw(iter) == WRITE && mapping->nrpages) {
+       if (iov_iter_rw(iter) == WRITE) {
                int err = invalidate_inode_pages2_range(mapping,
                                start >> PAGE_SHIFT, end >> PAGE_SHIFT);
                WARN_ON_ONCE(err);