Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Feb 2001 19:26:42 -0800 (PST)
From:      patl@Phoenix.Volant.ORG
To:        Peter Wemm <peter@netplex.com.au>
Cc:        tlambert@primenet.com, freebsd-fs@FreeBSD.ORG
Subject:   Re: Status of nullfs 
Message-ID:  <ML-3.4.982898802.5641.patl@asimov.phoenix.volant.org>
In-Reply-To: <200102230242.f1N2gUf43386@mobile.wemm.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On 22-Feb-01 at 18:42, Peter Wemm (peter@netplex.com.au) wrote:
> > Any mmap'ed writes will fail due to cache coherency problems.  If
> > the system isn't quiescent long enough to flush everything out
> > before an unmount, you can panic.  If you have exposed the NULL
> > mount , e.g. by mounting an FS on /usr, and then nullfs mounting
> > it to /null_usr, then modifications to the /usr FS will not
> > result in coherency notification, and files will become corrupt,
> > if accessed both ways.  Paging from executables can cause problems
> > for multiple copies of executables, if statically initialized data
> > is modified (copy on write) due to the way backing page handling
> > is limited.
> > 
> > All of these derive from the fact that the vnode in the upper
> > layer (nullfs) and the vnode in the lower layer (ffs or whatever)
> > have seperate vm_object_t's, even though the data contents of the
> > file are supposed to be treated as identical for both.
> 
> Terry, please check your facts.  This has been recently fixed.  See the
> VOP_GETVOBJECT() stuff.  The trick though is to get it MFC'ed into
> 4.x...

In Terry's support, I -was- specificly asking about -STABLE.

> > There are a number of patches to manually enforce coherency; as
> > far as I know, they don't deal with the pager path, and, since
> > the coherency is explicit, the /usr vs. /null_usr problem is
> > not resolved.  Check the list archives to obtain the patches.
> 
> nullfs is fully functional in -current.  Backporting the changes should
> be easy.

Hmm.  Easy for someone familiar with the kernel internals; or easy
for someone with 30 years of systems level software engineering
experience but -no- unix kernel experience?  (If the later, I may
see if I can free up the cycles to do it.  If the former, I doubt
that I'll get enough cycles to climb that specific learning curve
before other priorities intervene.)


-Pat

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-fs" in the body of the message




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