| To: | Eric Sandeen <sandeen@xxxxxxxxxx>, xfs-oss <xfs@xxxxxxxxxxx> |
|---|---|
| Subject: | [PATCH 2/4] xfs_repair: clear need_root_dotdot if we rebuild the root dir |
| From: | Eric Sandeen <sandeen@xxxxxxxxxxx> |
| Date: | Wed, 04 Mar 2015 14:59:02 -0600 |
| Delivered-to: | xfs@xxxxxxxxxxx |
| In-reply-to: | <54F77199.8030708@xxxxxxxxxx> |
| References: | <54F77199.8030708@xxxxxxxxxx> |
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 newly-introduced problem.
Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
---
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) {
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | [PATCH 1/4] xfs_repair: validate & fix inode CRCs, Eric Sandeen |
|---|---|
| Next by Date: | [PATCH 3/4] xfs_db: show nlink fields for di_version == 3, too, Eric Sandeen |
| Previous by Thread: | Re: [PATCH 1/4] xfs_repair: validate & fix inode CRCs, Eric Sandeen |
| Next by Thread: | Re: [PATCH 2/4] xfs_repair: clear need_root_dotdot if we rebuild the root dir, Carlos Maiolino |
| Indexes: | [Date] [Thread] [Top] [All Lists] |