diff options
author | Darrick J. Wong <djwong@kernel.org> | 2023-12-15 10:03:40 -0800 |
---|---|---|
committer | Darrick J. Wong <djwong@kernel.org> | 2023-12-15 10:03:40 -0800 |
commit | dbbdbd0086320a026903ca34efedb6abf55230ed (patch) | |
tree | 829f2db0041ddd0eeee28ed387ab63696ed20c05 /block/holder.c | |
parent | d12bf8bac87a0d93e6e5fab67f399d1e3d3d5767 (diff) | |
download | linux-stable-dbbdbd0086320a026903ca34efedb6abf55230ed.tar.gz linux-stable-dbbdbd0086320a026903ca34efedb6abf55230ed.tar.bz2 linux-stable-dbbdbd0086320a026903ca34efedb6abf55230ed.zip |
xfs: repair problems in CoW forks
Try to repair errors that we see in file CoW forks so that we don't do
stupid things like remap garbage into a file. There's not a lot we can
do with the COW fork -- the ondisk metadata record only that the COW
staging extents are owned by the refcount btree, which effectively means
that we can't reconstruct this incore structure from scratch.
Actually, this is even worse -- we can't touch written extents, because
those map space that are actively under writeback, and there's not much
to do with delalloc reservations. Hence we can only detect crosslinked
unwritten extents and fix them by punching out the problematic parts and
replacing them with delalloc extents.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'block/holder.c')
0 files changed, 0 insertions, 0 deletions