Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Jul 2010 14:47:51 -0700
From:      Jeremy Chadwick <freebsd@jdc.parodius.com>
To:        Kirk McKusick <mckusick@mckusick.com>
Cc:        "Mikhail T." <mi+thun@aldan.algebra.com>, fs@freebsd.org
Subject:   Re: panic: handle_written_inodeblock: bad size
Message-ID:  <20100720214751.GA58332@icarus.home.lan>
In-Reply-To: <20100720175709.GA52321@icarus.home.lan>
References:  <20100720134931.GA41352@icarus.home.lan> <201007201544.o6KFipaV084986@chez.mckusick.com> <20100720175709.GA52321@icarus.home.lan>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jul 20, 2010 at 10:57:09AM -0700, Jeremy Chadwick wrote:
> On Tue, Jul 20, 2010 at 08:44:51AM -0700, Kirk McKusick wrote:
> > You are on the right track with getting the filesystem information.
> > Any place that one has an inode (say pointer ip), it is possible
> > to get the filesystem information using ip->i_fs->fs_fsmnt. The
> > mount point can also be found from the mount-point structure.
>
> [...] 
> The biggest problem (for me) is testing.  I have no idea how to
> trigger the error conditions in these functions.  I assume it varies;
> maybe through fsdb(8) or interactively dropping to DDB and forcing
> the condition.
> 
> I tend to do all of my work on this sort on a VM of FreeBSD (using
> VMware Workstation), but if testing on bare metal is required I
> have a testbed as well.

I've written (what I believe to be) the first stage of getting this
accomplished, and have been (slowly) testing each of the functions I
modified in src/sys/ufs/ffs/ffs_softdep.c.

The testing methodology I'm using is somewhat tedious: moving the
panic() calls I modified up near the top of the function, building
and installing kernel (using -DNOCLEAN to speed things up) + rebooting
box and see if the panic() gets hit + shows the correct mountpoint in
the panic string.  Some of the functions only get triggered during
certain things (ex. softdep_waitidle wouldn't fire for me until I
unmounted a spare UFS2+SU filesystem), but I'll figure it out.

The tediousness isn't as bad as it could be given that I'm using VMware
Workstation (test, restore to previous VM snapshot, repeat).

The diff so far, I think, is around 20KBytes.

-- 
| Jeremy Chadwick                                   jdc@parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |



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