diff options
author | Christoph Hellwig | 2019-02-18 18:38:48 +0100 |
---|---|---|
committer | Darrick J. Wong | 2019-02-21 16:55:07 +0100 |
commit | 26b91c728b2d15952432371dc2b6ba1dda1fb61f (patch) | |
tree | a666a88de0bbe438c2e7371910f5f63d1d54cece /ipc | |
parent | xfs: merge COW handling into xfs_file_iomap_begin_delay (diff) | |
download | kernel-qcow2-linux-26b91c728b2d15952432371dc2b6ba1dda1fb61f.tar.gz kernel-qcow2-linux-26b91c728b2d15952432371dc2b6ba1dda1fb61f.tar.xz kernel-qcow2-linux-26b91c728b2d15952432371dc2b6ba1dda1fb61f.zip |
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')
0 files changed, 0 insertions, 0 deletions