Video Screencast Help

VxFS fsck should display the inode numbers and directory entry names before removing the directory entries or directory blocks

Created: 29 Oct 2012 • Updated: 14 Jan 2013 | 2 comments
Andrew_Law's picture
0 Agree
0 Disagree
0 0 Votes
Login to vote
Status: Reviewed

In order to help the customers to identify the files involved in metadata corruption, the directory entries in a directory block should be printed before they are removed by fsck.

For example, in pass 2, before removing a directory entry, please print the name of the directory and the name of the directory entry first.

pass2 - checking directory linkage
fileset 999 directory 100 block devid/blknum 0/0 offset 40 references free inode
                ino 800 remove entry? (ynq)y    
- please print the name of directory inode 100 and the corresponding name of inode 800 before before remove this directory entry.

Similar thing for removing the whole directory block, please print the name of the direcotry, the inode numbers and correspondig names before removing the whole directory block.

fileset 999 directory 2574463 block devid/blknum 0/64428072 bad hash count 0 clear block? (ynq)
- before removing the directory block at 0/64428072, plesae print the name of directory 2574463, and dump the inode numbers and corresponding names in that directory block.

Please do the same for other similar fsck operations to clear the directory entry or directory block, e.g.

fileset 999 directory 4 block devid/blknum 0/2840 offset 68 partial entry ino 4 namlen 5 clear block? (ynq)
fileset 999 directory 23570 block devid/blknum 0/11939877 offset 356 parent mismatch ino 141470 parent 23570 remove entry? (ynq)
fileset 999 primary-ilist inode 23570 contains invalid directory blocks clear? (ynq)

Thanks and Regards,
Andrew.
 

Comments 2 CommentsJump to latest comment

RyanJancaitis's picture

Thanks for the feedback.  We'll investigate this as a roadmap item for a post 6.1 feature.

0
Login to vote
leonwong's picture

Hi Ryan  / Andrew,

For such cases, is it possible to manually identify which directory is the culprit? I'm currently running on 5.1.

 

fileset 999 directory 8895 block devid/blknum 0/31978541 offset 668 parent mismatch

                ino 1011263 parent 8895 remove entry? (ynq)y

...

fileset 999 directory 8895 block devid/blknum 0/31899524 bad hash count 8224 clear block? (ynq)y

...

 

Thanks.

Regards,

Leon

0
Login to vote