xfs: don't bother looking at the refcount tree for reads
There is no need to trim an extent into a shared or non-shared one, or report any flags for plain old reads. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:
parent
62c5ac89de
commit
5f9268ca53
|
@ -996,11 +996,14 @@ xfs_file_iomap_begin(
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Trim the mapping to the nearest shared extent boundary. */
|
if (flags & (IOMAP_WRITE | IOMAP_ZERO | IOMAP_REPORT)) {
|
||||||
error = xfs_reflink_trim_around_shared(ip, &imap, &shared, &trimmed);
|
/* Trim the mapping to the nearest shared extent boundary. */
|
||||||
if (error) {
|
error = xfs_reflink_trim_around_shared(ip, &imap, &shared,
|
||||||
xfs_iunlock(ip, lockmode);
|
&trimmed);
|
||||||
return error;
|
if (error) {
|
||||||
|
xfs_iunlock(ip, lockmode);
|
||||||
|
return error;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((flags & IOMAP_WRITE) && imap_needs_alloc(inode, &imap, nimaps)) {
|
if ((flags & IOMAP_WRITE) && imap_needs_alloc(inode, &imap, nimaps)) {
|
||||||
|
|
Loading…
Reference in New Issue