http://oss.sgi.com/bugzilla/show_bug.cgi?id=845
Summary: xfs_repair does not warn when marking entries as bad
if namecheck fails
Product: XFS
Version: Current
Platform: All
OS/Version: All
Status: NEW
Severity: trivial
Priority: P5
Component: xfsprogs
AssignedTo: xfs-masters@xxxxxxxxxxx
ReportedBy: rolek@xxxxxxxxxx
Estimated Hours: 0.0
Classification: Unclassified
Created an attachment (id=279)
--> (http://oss.sgi.com/bugzilla/attachment.cgi?id=279)
patch adding a warning to the location where the name is cleared
While running xfs_repair I got the following output in phase 3:
- agno = 1
entry "/x0d" at block 0 offset 368 in directory inode 2153385427 references
invalid inode 18374686479671623679
clearing inode number in entry at offset 368...
entry at block 0 offset 368 in directory inode 2153385427 has illegal name
"/x0d": - agno = 2
The fact that the second problem, mentioning the 'illegal name', was not
followed by an action, made me think xfs_repair had not repaired this
particular problem. Running xfs_repair repeatedly produced the same error every
time, which seemed to confirm this. However, the source showed that this
particular problem was indeed followed by an action, but no warning was
printed.
The attached patch to repair/dir2.c prints a warning if a name is cleared in
this case, similar to what happens when junkit == 1 later on.
This might cause duplicate "I'm fixing things" messages (for example when
clearino == 1, but namecheck() succeeds) but I'm not sure if this can be the
case and IMHO it's better to be overly verbose than to do things silently.
(I'm still trying to find out why the actual "illegal name" problem persists,
though.)
--
Configure bugmail: http://oss.sgi.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
|