forked from luck/tmp_suning_uos_patched
xfs: report IOMAP_F_SHARED from xfs_file_iomap_begin_delay
No user of it in the iomap code at the moment, but we should not actively report wrong information if we can trivially get it right. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:
parent
26b91c728b
commit
c4feb0b194
|
@ -541,7 +541,7 @@ xfs_file_iomap_begin_delay(
|
|||
struct xfs_bmbt_irec imap, cmap;
|
||||
struct xfs_iext_cursor icur, ccur;
|
||||
xfs_fsblock_t prealloc_blocks = 0;
|
||||
bool eof = false, cow_eof = false, shared;
|
||||
bool eof = false, cow_eof = false, shared = false;
|
||||
int whichfork = XFS_DATA_FORK;
|
||||
int error = 0;
|
||||
|
||||
|
@ -710,13 +710,14 @@ xfs_file_iomap_begin_delay(
|
|||
if (imap.br_startoff > offset_fsb) {
|
||||
xfs_trim_extent(&cmap, offset_fsb,
|
||||
imap.br_startoff - offset_fsb);
|
||||
error = xfs_bmbt_to_iomap(ip, iomap, &cmap, false);
|
||||
error = xfs_bmbt_to_iomap(ip, iomap, &cmap, true);
|
||||
goto out_unlock;
|
||||
}
|
||||
/* ensure we only report blocks we have a reservation for */
|
||||
xfs_trim_extent(&imap, cmap.br_startoff, cmap.br_blockcount);
|
||||
shared = true;
|
||||
}
|
||||
error = xfs_bmbt_to_iomap(ip, iomap, &imap, false);
|
||||
error = xfs_bmbt_to_iomap(ip, iomap, &imap, shared);
|
||||
out_unlock:
|
||||
xfs_iunlock(ip, XFS_ILOCK_EXCL);
|
||||
return error;
|
||||
|
|
Loading…
Reference in New Issue
Block a user