xfs-masters
[Top] [All Lists]

[Bug 845] xfs_repair does not warn when marking entries as bad if namech

To: xfs-masters@xxxxxxxxxxx
Subject: [Bug 845] xfs_repair does not warn when marking entries as bad if namecheck fails
From: bugzilla-daemon@xxxxxxxxxxx
Date: Wed, 12 Aug 2009 06:54:02 -0500
Auto-submitted: auto-generated
In-reply-to: <bug-845-113@xxxxxxxxxxxxxxxx/bugzilla/>
References: <bug-845-113@xxxxxxxxxxxxxxxx/bugzilla/>
http://oss.sgi.com/bugzilla/show_bug.cgi?id=845





--- Comment #6 from Roel van Meer <rolek@xxxxxxxxxx>  2009-08-12 06:52:55 CST 
---
(In reply to comment #5)

> However, I'd like to know which name didn't hash right, if you could patch it
> and run something like (pseudopatch) (assuming my C string manipulation-fu
> isn't too weak) and run it w/o "-o" we can see which name didn't hash right:

It says (I added quotes around the %s in your patch):
obfuscated name failed hash for '/47272060'

Meanwhile, xfs_repair produces (in phase 3):

entry "/472720600" at block 0 offset 48 in directory inode 2153341945
references invalid inode 18374686479671623679
        clearing inode number in entry at offset 48...
entry at block 0 offset 48 in directory inode 2153341945 has illegal name
"/472720600": clearing entry

(Btw, the last "clearing entry" is produced by the patch attached to this bug).
There seems to be a discrepancy in how xfs_db and xfs_repair see this entry?
/47272060 vs
/472720600

If you need more testing done, please let me know. I usually have a few hours
during the daytime (CET) when I can take the system offline..

Regards,

roel

> +               if (libxfs_da_hashname(newname, namelen) != hash) {
> +                      char namebuf[NAME_MAX];
> +
> +                      snprintf(namebuf, namelen, name);
> +                      namebuf[namelen] = "\0";
> +                      printf("obfuscated name failed hash for '%s'\n", 
> namebuf);
> +               }
>                 ASSERT(libxfs_da_hashname(newname, namelen) == hash);

-- 
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>