diff options
author | Christoph Hellwig <hch@lst.de> | 2019-02-18 09:38:48 -0800 |
---|---|---|
committer | Darrick J. Wong <darrick.wong@oracle.com> | 2019-02-21 07:55:07 -0800 |
commit | 26b91c728b2d15952432371dc2b6ba1dda1fb61f (patch) | |
tree | a666a88de0bbe438c2e7371910f5f63d1d54cece /ipc/util.h | |
parent | db46e604adf8c923214a63b46e87ca2411d3d580 (diff) |
xfs: make COW fork unwritten extent conversions more robust
If we have racing buffered and direct I/O COW fork extents under
writeback can have been moved to the data fork by the time we call
xfs_reflink_convert_cow from xfs_submit_ioend. This would be mostly
harmless as the block numbers don't change by this move, except for
the fact that xfs_bmapi_write will crash or trigger asserts when
not finding existing extents, even despite trying to paper over this
with the XFS_BMAPI_CONVERT_ONLY flag.
Instead of special casing non-transaction conversions in the already
way too complicated xfs_bmapi_write just add a new helper for the much
simpler non-transactional COW fork case, which simplify ignores not
found extents.
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>
Diffstat (limited to 'ipc/util.h')
0 files changed, 0 insertions, 0 deletions