xfs
[Top] [All Lists]

Re: xfs_repair stops on "traversing filesystem..."

To: Tomek Kruszona <bloodyscarion@xxxxxxxxx>
Subject: Re: xfs_repair stops on "traversing filesystem..."
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Fri, 10 Jul 2009 15:17:08 -0500
Cc: xfs@xxxxxxxxxxx
In-reply-to: <4A56ED5F.10400@xxxxxxxxx>
References: <4A55FAF7.5040908@xxxxxxxxx> <4A56D176.9010702@xxxxxxxxxxx> <4A56ED5F.10400@xxxxxxxxx>
User-agent: Thunderbird 2.0.0.22 (Macintosh/20090605)
Tomek Kruszona wrote:
> Eric Sandeen wrote:
>> No fix for you yet, but it's in cache_node_get(), in the for(;;) loop,
>> and it looks like cache_node_allocate() fails to get a new node and we
>> keep spinning.  I need to look some more at what's going on....
> 
> Hello!
> 
> Is this specific behavior for this particular broken filesystem or is it
> a bug in functions you mentioned? I'm just curious :)

This looks like some of the caching that xfs_repair does is mis-sized,
and it gets stuck when it's unable to find a slot for a new node to
cache.  IMHO that's still a bug that I'd like to work out.  If it gets
stuck this way, it'd probably be better to exit, and suggest a larger
hash size.

But anyway, I forced a bigger hash size:

xfs_repair -P -o bhash=1024 <blah>

and it did complete.  1024 is probably over the top, but it worked for
me on a 4G machine w/ some swap.

I'd strongly suggest doing a non-obfuscated xfs_metadump, do
xfs_mdrestore of that to some temp.img, run xfs_repair <blah> on that
temp.img, mount it, and see what you're left with; that way you'll know
what you're getting into w/ repair.

I ended up w/ about 5000 files in lost+found just FWIW...

Out of curiosity, do you know how the fs was damaged?

-Eric

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