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>