xfs-masters
[Top] [All Lists]

[Bug 845] New: xfs_repair does not warn when marking entries as bad if n

To: xfs-masters@xxxxxxxxxxx
Subject: [Bug 845] New: xfs_repair does not warn when marking entries as bad if namecheck fails
From: bugzilla-daemon@xxxxxxxxxxx
Date: Mon, 10 Aug 2009 08:03:47 -0500
Auto-submitted: auto-generated
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.

<Prev in Thread] Current Thread [Next in Thread>