From owner-freebsd-current Mon Aug 17 16:58:15 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id QAA23084 for freebsd-current-outgoing; Mon, 17 Aug 1998 16:58:15 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from lor.watermarkgroup.com (lor.watermarkgroup.com [207.202.73.33]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id QAA23060 for ; Mon, 17 Aug 1998 16:58:09 -0700 (PDT) (envelope-from luoqi@watermarkgroup.com) Received: (from luoqi@localhost) by lor.watermarkgroup.com (8.8.8/8.8.8) id TAA19159; Mon, 17 Aug 1998 19:57:01 -0400 (EDT) (envelope-from luoqi) Date: Mon, 17 Aug 1998 19:57:01 -0400 (EDT) From: Luoqi Chen Message-Id: <199808172357.TAA19159@lor.watermarkgroup.com> To: dag-erli@ifi.uio.no, tcobb@staff.circle.net Subject: RE: PANIC: NULLFS not synced with rest of vm? Cc: freebsd-current@FreeBSD.ORG Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > Well, are you willing to fix it and get paid for it? > > I'm trying to create a situation where there can be > no excuse for not getting this fixed. Circle Net needs > it working, I don't have time to get as deeply into FS > as I'd need to repair it. If someone has time, and experience > in this area, and would like to get paid for that time > while still generating code for release to the FreeBSD project, > then PLEASE contact me. > > In case you didn't realize it, this is that company-sponsorship > of FreeBSD concept trying to work, here. > > -Troy Cobb > Circle Net, Inc. > http://www.circle.net > It takes much more than a couple of hours to fix nullfs or other stackable file system. Cache coherence is one of the biggest problems. But for the panic you had, you may try the following band-aid. -lq Index: null_subr.c =================================================================== RCS file: /fun/cvs/src/sys/miscfs/nullfs/null_subr.c,v retrieving revision 1.19 diff -u -r1.19 null_subr.c --- null_subr.c 1998/07/30 17:40:45 1.19 +++ null_subr.c 1998/08/17 23:43:51 @@ -173,6 +173,13 @@ return 0; }; VREF(lowervp); /* Extra VREF will be vrele'd in null_node_create */ + + simple_lock(&lowervp->v_interlock); + if (lowervp->v_type == VREG && !lowervp->v_object) + vfs_object_create(lowervp, curproc, NOCRED, + VOP_ISLOCKED(lowervp)); + simple_unlock(&lowervp->v_interlock); + hd = NULL_NHASH(lowervp); LIST_INSERT_HEAD(hd, xp, null_hash); return 0; To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message