summaryrefslogtreecommitdiff
path: root/arch/.gitignore
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2017-02-02 23:14:01 (GMT)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-04-08 07:30:31 (GMT)
commit8370826f7d3274fe64de32c58aa49a7384f0c9e9 (patch)
tree68a514c9cb92588d37c9524cc7326dd170a2faf7 /arch/.gitignore
parent3d2bd2fd5cbaf3d4e0f0642030cd7d21facb07e7 (diff)
downloadlinux-8370826f7d3274fe64de32c58aa49a7384f0c9e9.tar.xz
xfs: allow unwritten extents in the CoW fork
commit 05a630d76bd3f39baf0eecfa305bed2820796dee upstream. In the data fork, we only allow extents to perform the following state transitions: delay -> real <-> unwritten There's no way to move directly from a delalloc reservation to an /unwritten/ allocated extent. However, for the CoW fork we want to be able to do the following to each extent: delalloc -> unwritten -> written -> remapped to data fork This will help us to avoid a race in the speculative CoW preallocation code between a first thread that is allocating a CoW extent and a second thread that is remapping part of a file after a write. In order to do this, however, we need two things: first, we have to be able to transition from da to unwritten, and second the function that converts between real and unwritten has to be made aware of the cow fork. Do both of those things. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/.gitignore')
0 files changed, 0 insertions, 0 deletions