xfs
[Top] [All Lists]

Re: Badness in key lookup (length)

To: Martin Steigerwald <Martin@xxxxxxxxxxxx>
Subject: Re: Badness in key lookup (length)
From: Timothy Shimmin <tes@xxxxxxx>
Date: Wed, 26 Nov 2008 11:50:45 +1100
Cc: linux-xfs@xxxxxxxxxxx
In-reply-to: <200811252302.55944.Martin@xxxxxxxxxxxx>
References: <200811252302.55944.Martin@xxxxxxxxxxxx>
User-agent: Thunderbird 2.0.0.17 (Macintosh/20080914)
Martin Steigerwald wrote:
> Hi!
> 
> I also checked my / XFS filesystem after that failed attempt to hibernate 
> via TuxOnIce (see my mail "truncated files"). Well BTW this happened on a 
> ThinkPad T42.
> 
> While /home was fine, / had some rather minor - it seems - issues. Whether 
> they have been from today or from whenever - I do not know.
> 
> xfs_check had stuff like
> 
> agi unlinked bucket 0 is 8620800 in ag 0 (inode=8620800)
> agi unlinked bucket 1 is 1181377 in ag 0 (inode=1181377)
> agi unlinked bucket 2 is 8628866 in ag 0 (inode=8628866)
> agi unlinked bucket 3 is 8620611 in ag 0 (inode=8620611)
> agi unlinked bucket 4 is 1181380 in ag 0 (inode=1181380)
> agi unlinked bucket 5 is 7711173 in ag 0 (inode=7711173)
> agi unlinked bucket 6 is 7711174 in ag 0 (inode=7711174)
> [...]
> allocated inode 207025 has 0 link count
> allocated inode 207029 has 0 link count
> allocated inode 207118 has 0 link count
> allocated inode 7711173 has 0 link count
> allocated inode 7711174 has 0 link count
> allocated inode 7711197 has 0 link count
> 
> Which are due to references to deleted files AFAIK.
> 
Yep, inodes which were unlinked but still had references to them
when the filesystem was taken down without cleanly unmounting.
There is a hash table of buckets which point to linked lists of unlinked inodes.
These are then supposed to be cleaned up during the log-replay stage
on mount.
I presume (sorry for asking but just checking :-) that you mounted the 
filesystem
first - you would have gotten an error message if there was a dirty log anyway.
And if you didn't mount first, did you get the error message? Just curious.

--Tim

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