iomap: mark ->iomap_end as optional
authorChristoph Hellwig <hch@lst.de>
Tue, 16 Aug 2016 22:42:34 +0000 (08:42 +1000)
committerDave Chinner <david@fromorbit.com>
Tue, 16 Aug 2016 22:42:34 +0000 (08:42 +1000)
No need to implement it for read-only mappings.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
fs/iomap.c

index d9d1f50c36aaa1123061f0bde1128e41489e1c59..0342254646e358407ca35520c307529cc454a3c4 100644 (file)
@@ -84,8 +84,11 @@ iomap_apply(struct inode *inode, loff_t pos, loff_t length, unsigned flags,
         * Now the data has been copied, commit the range we've copied.  This
         * should not fail unless the filesystem has had a fatal error.
         */
-       ret = ops->iomap_end(inode, pos, length, written > 0 ? written : 0,
-                       flags, &iomap);
+       if (ops->iomap_end) {
+               ret = ops->iomap_end(inode, pos, length,
+                                    written > 0 ? written : 0,
+                                    flags, &iomap);
+       }
 
        return written ? written : ret;
 }