Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Mar 1997 00:18:21 -0600
From:      Jonathan Lemon <jlemon@americantv.com>
To:        freebsd-current@freebsd.org
Subject:   Panics on reboot/halt/shutdown with MFS
Message-ID:  <19970319001821.63996@right.PCS>
In-Reply-To: <19970318212528.28756@klemm.gtn.com>; from Andreas Klemm on Mar 03, 1997 at 09:25:28PM %2B0100
References:  <199703131421.GAA28883@freefall.freebsd.org> <m0w6jY4-000SF6C@olivaw.olivetti.nl> <19970318081322.59650@klemm.gtn.com> <m0w735q-000SKuC@olivaw.olivetti.nl> <19970318212528.28756@klemm.gtn.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mar 03, 1997 at 09:25:28PM +0100, Andreas Klemm wrote:
> > I noticed that if I used shutdown I got a message that some process  
> > refused to die. The only process which might cause it was mount_mfs.
> > I just disabled mounting an mfs on /tmp and now I can halt cleanly.
> > Are you using mfs ??? If so try disabling it.
> 
> Well, yes, I use mfs ... but ... who or what broke it in 2.2.0 and 3.0 ?
> I'm using mfs for months and had no trouble.

I spent some time digging into this.  The symptoms are that the system
panics/locks up when executing reboot() when there is a MFS mounted
filesystem.  (freebsd bugs #3012, #3026)

When MFS is not mounted, the system shuts down without a problem.

The culprit appears to be this line in spec_strategy():

	(*bdevsw[major(ap->a_bp->b_dev)]->d_strategy)(ap->a_bp);

major(ap->a_bp->b_dev) == 0xff.  d_strategy for this bdevsv[] == 0.


#0  spec_strategy (ap=0xefbffe64) at ../../miscfs/specfs/spec_vnops.c:509
509     {
#1  0xf012e2a8 in bwrite (bp=0xf3a23024) at vnode_if.h:1116
1116            return (VCALL((bp)->b_vp, VOFFSET(vop_strategy), &a));
#2  0xf019599e in ffs_sbupdate (mp=0xf1a20c00, waitfor=1)
    at ../../ufs/ffs/ffs_vfsops.c:1057
1057                    error = bwrite(bp);
#3  0xf019524c in ffs_unmount (mp=0xf1a0d200, mntflags=524288, p=0xf1a20800)
    at ../../ufs/ffs/ffs_vfsops.c:672
672                     ffs_sbupdate(ump, MNT_WAIT);
#4  0xf0134f1c in dounmount (mp=0xf1a0d200, flags=524288, p=0xf1a20800)
    at ../../kern/vfs_syscalls.c:309
309                     error = VFS_UNMOUNT(mp, flags, p);
#5  0xf0132f79 in vfs_unmountall () at ../../kern/vfs_subr.c:245
245                     error = dounmount(mp, MNT_FORCE, initproc);
#6  0xf0114e1f in boot (howto=8) at ../../kern/kern_shutdown.c:217
217                                     vfs_unmountall();


Perhaps someone with a CVS tree available could look at the recent changes
that were made to 2_2_RELENG?  This only just started happening.
--
Jonathan



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