summaryrefslogtreecommitdiffstats
path: root/fs/iomap.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2016-08-17 00:42:34 +0200
committerDave Chinner <david@fromorbit.com>2016-08-17 00:42:34 +0200
commitf20ac7ab17fcf7046bd9bc4166faf9580f713afd (patch)
tree0a68e726fcd62b260a1ae12ec783d02584e04d1f /fs/iomap.c
parentiomap: prepare iomap_fiemap for attribute mappings (diff)
downloadlinux-f20ac7ab17fcf7046bd9bc4166faf9580f713afd.tar.xz
linux-f20ac7ab17fcf7046bd9bc4166faf9580f713afd.zip
iomap: mark ->iomap_end as optional
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>
Diffstat (limited to '')
-rw-r--r--fs/iomap.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/iomap.c b/fs/iomap.c
index d9d1f50c36aa..0342254646e3 100644
--- a/fs/iomap.c
+++ b/fs/iomap.c
@@ -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;
}