aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Sandeen <sandeen@redhat.com>2018-03-26 21:27:28 -0500
committerEric Sandeen <sandeen@redhat.com>2018-03-26 21:27:28 -0500
commitf8cd7da8eec39dddbdeebac8617b64f2a1a2deb0 (patch)
tree87914a32b141a51805fb54f761d2ab3b318e3295
parent3452f451b2ecd91ca2c6609c150779e32a8a1442 (diff)
downloadxfsprogs-dev-f8cd7da8eec39dddbdeebac8617b64f2a1a2deb0.tar.gz
xfs_repair: use custom ifork verifier in mv_orphanage
Now that we have a custom verifier which can ignore parent inode numbers, use it in mv_orphanage() as well; orphan inodes may have invalid parents, and we're about to reconnect them anyway, so override that test when we get them off disk. Signed-off-by: Eric Sandeen <sandeen@redhat.com> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
-rw-r--r--repair/phase6.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/repair/phase6.c b/repair/phase6.c
index ed005e8cc6..498a3b554c 100644
--- a/repair/phase6.c
+++ b/repair/phase6.c
@@ -1138,7 +1138,8 @@ mv_orphanage(
xname.len = snprintf((char *)fname, sizeof(fname), "%llu.%d",
(unsigned long long)ino, ++incr);
- err = -libxfs_iget(mp, NULL, ino, 0, &ino_p, &xfs_default_ifork_ops);
+ /* Orphans may not have a proper parent, so use custom ops here */
+ err = -libxfs_iget(mp, NULL, ino, 0, &ino_p, &phase6_ifork_ops);
if (err)
do_error(_("%d - couldn't iget disconnected inode\n"), err);