Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Sep 1996 22:24:47 -0700
From:      Paul Traina <pst@shockwave.com>
To:        guido@gvr.win.tue.nl (Guido van Rooij)
Cc:        terry@lambert.org (Terry Lambert), FreeBSD-hackers@freebsd.org
Subject:   Re: cvs commit: src/sbin/fsdb fsdb.c 
Message-ID:  <199610010524.WAA14106@precipice.shockwave.com>
In-Reply-To: Your message of "Fri, 27 Sep 1996 23:34:07 %2B0200." <199609272134.XAA02422@gvr.win.tue.nl> 

next in thread | previous in thread | raw e-mail | index | archive | help

  From: guido@gvr.win.tue.nl (Guido van Rooij)
  Subject: Re: cvs commit: src/sbin/fsdb fsdb.c
  Terry Lambert wrote:
  > 
  > This FS *was* fsck'ed after a crash, or it *wasn't* fsck'ed after a
  > crash?
  > 
  > If it *wasn't*, then the loop was created in the FS code.
  > 
  > If it *was*, then the fsck code is faulty.
  
  Indeed. It *is* fsck.
  
  > 
  > So: can you tell me if the condition resulted from fsck not catching
  > it after a crash, or if it resulted from normal operation of the FS?
  > 
  
  The first. I cannot come up with a scheme in which the FS could create
  such a directory (in the inode, some references to data blocks are null.
  fsck does not check non-present blocks and thus the FS passes fsck.
  The kernel does do the check and finds all zero's and thus all zero
  chunks where an empty chunk should have it's first byte set to 255).
  I believe that when adding directory entries, the FS code first allocates
  a new block (if necessary), update it and then changes the size of the
  inode. So I have no idea how the situation I sketched above could happen
  from within the FS code.
  
  I just posted a patch that is not yet complete but will at least do the
  trick. A better one will come in a few days.
  
  -Guido

I tried your patch, but it looks like the bad directory got rmdir'ed along
the way before fsck got a chance to run (it was on our news spool partition
and I did some heavy bashing on that disk before rebooting).

It hasn't come back since, so who knows how the damn thing go there. :-(



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199610010524.WAA14106>