From 3f9cf37b7b78ad9523bb93c67ad5eff0d0e371aa Mon Sep 17 00:00:00 2001 From: Andrew Deason Date: Mon, 30 Sep 2013 17:53:36 -0500 Subject: [PATCH] salvager: Fix in-memory invalid linktable counts When we have a nonexistant or invalid linktable, we manually set all of the linkcounts to 1, since we're recreating the link table from scratch. However, we also have a linkCount count in our in-memory allInodes array, which could be populated by garbage if we had a garbage linktable. So make sure to set our in-memory linkCount to 1 for each inode, so we don't use garbage linkcount data. Reviewed-on: http://gerrit.openafs.org/10312 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 6a4831e0e9a003bed06ac2269987c69090d3f7e7) Change-Id: Ic580176f0350a2f44b60f1b448cf3da8a091e36d Reviewed-on: http://gerrit.openafs.org/10769 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Reviewed-by: D Brashear Reviewed-by: Stephan Wiesand --- src/vol/vol-salvage.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/vol/vol-salvage.c b/src/vol/vol-salvage.c index 861f3f1b6..e43108e74 100644 --- a/src/vol/vol-salvage.c +++ b/src/vol/vol-salvage.c @@ -2023,6 +2023,7 @@ DoSalvageVolumeGroup(struct SalvInfo *salvinfo, struct InodeSummary *isp, int nV ip = allInodes + isp[i].index; for (j = isp[i].nSpecialInodes; j < isp[i].nInodes; j++) { namei_SetLinkCount(fdP, ip[j].inodeNumber, 1, 1); + ip[j].linkCount = 1; } } } -- 2.39.5