[PATCH 10/13] xfs_repair: clear need_root_dotdot if we rebuild the root dir

Eric Sandeen sandeen at redhat.com
Tue Mar 17 15:33:12 CDT 2015


It's possible to enter longform_dir2_rebuild with need_root_dotdot
set; rebuilding it will add "..", and if need_root_dotdot stays set,
we'll add another ".." entry, causing a second repair to find and
fix that problem.

Signed-off-by: Eric Sandeen <sandeen at redhat.com>
Reviewed-by: Carlos Maiolino <cmaiolino at redhat.com>
---
 repair/phase6.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/repair/phase6.c b/repair/phase6.c
index 0ec4f07..1728609 100644
--- a/repair/phase6.c
+++ b/repair/phase6.c
@@ -1354,6 +1354,9 @@ longform_dir2_rebuild(
 
 	libxfs_trans_commit(tp, XFS_TRANS_RELEASE_LOG_RES|XFS_TRANS_SYNC);
 
+	if (ino == mp->m_sb.sb_rootino)
+		need_root_dotdot = 0;
+
 	/* go through the hash list and re-add the inodes */
 
 	for (p = hashtab->first; p; p = p->nextbyorder) {
-- 
1.7.1



More information about the xfs mailing list