]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commit - repair/dinode.c
xfs_repair: push inode buf and dinode pointers all the way to inode fork processing
authorDarrick J. Wong <djwong@kernel.org>
Mon, 15 Apr 2024 23:07:48 +0000 (16:07 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Wed, 17 Apr 2024 21:06:27 +0000 (14:06 -0700)
commit164a5514c89f8aec82133207c1114c318631b494
tree83e2cea52c306e279700f7fc170ee47e50100931
parentbd35f31ce91bcf5ed9370e94a4a5da89638f37f4
xfs_repair: push inode buf and dinode pointers all the way to inode fork processing

Currently, the process_dinode* family of functions assume that they have
the buffer backing the inodes locked, and therefore the dinode pointer
won't ever change.  However, the bmbt rebuilding code in the next patch
will violate that assumption, so we must pass pointers to the inobp and
the dinode pointer (that is to say, double pointers) all the way through
to process_inode_{data,attr}_fork so that we can regrab the buffer after
the rebuilding step finishes.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Bill O'Donnell <bodonnel@redhat.com>
repair/dino_chunks.c
repair/dinode.c
repair/dinode.h