NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: too many inodes error from fsck

On Thu, 3 Oct 2013 at 20:42, Christos Zoulas <> wrote:
> On Oct 3,  5:08pm, (Stephen Borrill) wrote:
> -- Subject: Re: too many inodes error from fsck
> | I tried it, but I read that message as saying that an unknown inode has a
> | link to an invalid inode in a linked list and the inode I need to clear is
> | the one that references the invalid inode.
> I guess make it print the inode you want it to remove.
> | It has WAPBL enabled on it, so I would have hoped the metadata would be OK
> | even if the actual file contents were not :-/
> I wonder what heppened then. It got pretty mangled!

Following up on this (ancient :) thread, as I'm hitting a related issue.

I have a filesystem failing fsck with "bad inode number 34610688 to
nextinode" and its not in a convenient place to copy all data off to
rebuild, so I'd like to investigate options to clear the affected

The message is triggered from pass1.c

                for (ii = 0; ii < inosused; ii++, inumber++) {
                        if (inumber < UFS_ROOTINO) {
                                (void)getnextinode(inumber); /* <------ here */

Adding a quick printf before that loop of
printf("inumber %llu, inosused %lld\n", (unsigned long long)inumber,
(unsigned long long)inosused);
and tweaking the bad inode number message to include lastvalidnum

gives a fair amount of output, ending with:

inumber 34091008, inosused 11264
inumber 34194944, inosused 11264
inumber 34298880, inosused 11264
inumber 34402816, inosused 11264
inumber 34506752, inosused 839647232
bad inode number 34610688 (max 34610687) to nextinode

"one of those things is not like the others".
It looks like we have a bad inosused, which runs off the end of the
available space (>.lastvalidinum) This feels like something from which
fsck could recover?


Home | Main Index | Thread Index | Old Index