Date: Thu, 27 Aug 1998 13:42:44 -0700 (PDT) From: Julian Elischer <julian@whistle.com> To: Andrzej Bialecki <abial@nask.pl> Cc: freebsd-current@FreeBSD.ORG Subject: Re: It's MFS panic.. (Re: Panic with DEVFS) Message-ID: <Pine.BSF.3.95.980827134039.3675A-100000@current1.whistle.com> In-Reply-To: <Pine.BSF.4.00.9808271948440.2885-100000@korin.warman.org.pl>
next in thread | previous in thread | raw e-mail | index | archive | help
here.. try the following fix:
On Thu, 27 Aug 1998, Andrzej Bialecki wrote:
>
> On Thu, 27 Aug 1998, Julian Elischer wrote:
>
> > ooooohhhhhhh
>
> I like it... This means that someone knows what's going on. :-)
>
> > specfs is not active if DEVFS is active
> > so the spec_fsync should not be called......
> > I bet it's hard coded into MFS..
> >
> > it should be replaced with a VOP_FSYNC(vn)
> > whch would call devfs_fsync() instead......
> >
> > (yech)
> > I'll look at it right now
>
> Thanks!
>
> Well, this also means I'll have to prepare a bugfix release for picobsd...
> :-((
yep
Index: mfs_vnops.c
===================================================================
RCS file: /home/ncvs/src/sys/ufs/mfs/mfs_vnops.c,v
retrieving revision 1.37
diff -c -r1.37 mfs_vnops.c
*** mfs_vnops.c 1998/07/11 07:46:05 1.37
--- mfs_vnops.c 1998/08/27 20:40:22
***************
*** 111,120 ****
static int
mfs_fsync(ap)
! struct vop_fsync_args *ap;
{
! return (VOCALL(spec_vnodeop_p, VOFFSET(vop_fsync), ap));
}
/*
--- 111,126 ----
static int
mfs_fsync(ap)
! struct vop_fsync_args /* {
! struct vnode *a_vp;
! struct ucred *a_cred;
! int a_waitfor;
! struct proc *a_p;
! } */ *ap;
{
! return (VOP_FSYNC(ap->a_vp, ap->a_cred, ap->a_waitfor, ap->a_p));
! /* return (VOCALL(spec_vnodeop_p, VOFFSET(vop_fsync), ap));*/
}
/*
***************
*** 317,324 ****
static int
mfs_getpages(ap)
! struct vop_getpages_args *ap;
{
! return (VOCALL(spec_vnodeop_p, VOFFSET(vop_getpages), ap));
}
--- 323,339 ----
static int
mfs_getpages(ap)
! struct vop_getpages_args /* {
! struct vnodeop_desc *a_desc;
! struct vnode *a_vp;
! vm_page_t *a_m;
! int a_count;
! int a_reqpage;
! vm_ooffset_t a_offset;
! } */ *ap;
{
! return (VOP_GETPAGES(ap->a_vp, ap->a_m, ap->a_count,
! ap->a_reqpage, ap->a_offset));
! /*return (VOCALL(spec_vnodeop_p, VOFFSET(vop_getpages), ap));*/
}
julian
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95.980827134039.3675A-100000>
