diff options
author | Christoph Hellwig <hch@lst.de> | 2016-08-17 00:42:34 +0200 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2016-08-17 00:42:34 +0200 |
commit | f20ac7ab17fcf7046bd9bc4166faf9580f713afd (patch) | |
tree | 0a68e726fcd62b260a1ae12ec783d02584e04d1f /fs/iomap.c | |
parent | iomap: prepare iomap_fiemap for attribute mappings (diff) | |
download | linux-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.c | 7 |
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; } |