diff options
author | Darrick J. Wong <darrick.wong@oracle.com> | 2017-12-11 03:03:55 +0100 |
---|---|---|
committer | Darrick J. Wong <darrick.wong@oracle.com> | 2017-12-14 18:20:11 +0100 |
commit | 73353f486c9b5b2407ec32be1004174dbbaf6c18 (patch) | |
tree | 3615f389875a3556667d4dd35619f84770d7e69e /mm/backing-dev.c | |
parent | xfs: remove dest file's post-eof preallocations before reflinking (diff) | |
download | linux-73353f486c9b5b2407ec32be1004174dbbaf6c18.tar.xz linux-73353f486c9b5b2407ec32be1004174dbbaf6c18.zip |
xfs: relax is_reflink_inode assert in xfs_reflink_find_cow_mapping
We don't hold the ilock through the entire sequence of xfs_writepage_map
-> xfs_map_cow -> xfs_reflink_find_cow_mapping. This means that we can
race with another thread that is trying to clear the inode reflink flag,
with the result that the flag is set for the xfs_map_cow check but
cleared before we get to the assert in find_cow_mapping. When this
happens, we blow the assert even though everything is fine.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'mm/backing-dev.c')
0 files changed, 0 insertions, 0 deletions