mirror of
https://github.com/torvalds/linux.git
synced 2025-01-01 15:51:46 +00:00
xfs: add missing cmap->br_state = XFS_EXT_NORM update
COW extents are already converted into written real extents after xfs_reflink_convert_cow_locked(), therefore cmap->br_state should reflect it. Otherwise, there is another necessary unwritten convertion triggered in xfs_dio_write_end_io() for direct I/O cases. Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com> Reviewed-by: Darrick J. Wong <djwong@kernel.org> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
This commit is contained in:
parent
7e57714cd0
commit
1a39ae415c
@ -425,7 +425,10 @@ convert:
|
||||
if (!convert_now || cmap->br_state == XFS_EXT_NORM)
|
||||
return 0;
|
||||
trace_xfs_reflink_convert_cow(ip, cmap);
|
||||
return xfs_reflink_convert_cow_locked(ip, offset_fsb, count_fsb);
|
||||
error = xfs_reflink_convert_cow_locked(ip, offset_fsb, count_fsb);
|
||||
if (!error)
|
||||
cmap->br_state = XFS_EXT_NORM;
|
||||
return error;
|
||||
|
||||
out_trans_cancel:
|
||||
xfs_trans_cancel(tp);
|
||||
|
Loading…
Reference in New Issue
Block a user