Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Nov 2018 11:26:44 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Ian Lepore <ian@freebsd.org>
Cc:        "freebsd-arch@freebsd.org" <freebsd-arch@freebsd.org>
Subject:   Re: NANDFS -- Any current users?
Message-ID:  <CANCZdfqG5R6v7E4vNGC66L66akAghNO1k6o6htMufEQUmOBg9g@mail.gmail.com>
In-Reply-To: <1541178458.22340.242.camel@freebsd.org>
References:  <CANCZdfrZULYWd9vhykobHu585RPMSDN=bAZG9ZA3pjUhv3dwUw@mail.gmail.com> <1541178458.22340.242.camel@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Nov 2, 2018 at 11:07 AM Ian Lepore <ian@freebsd.org> wrote:

> On Fri, 2018-11-02 at 11:01 -0600, Warner Losh wrote:
> > Are there any current users of NANDFS?
>
> This may be a good thing to ask in arm@ and mips@. Some old arm kernel
> configs include it, because some of the *Plug line of armv5 systems
> come with compatible nand parts on the board (but of course just having
> it in the kernel doesn't mean anyone is actually using it).
>

I'll be polling there to.


> We tried to use it at $work a few years ago, but it was too buggy to
> deploy. Fixes have been done to it since then, but I/we never re-tested
> because we had an alternate homebrew solution.
>

I had similar experience... My analysis is that it can't possibly work. It
fails to abide by the vnode locking protocol, so the vnodes can be freed up
out from under the routines that are trying to use them as a locking
protocol for their data. This has remained unfixed since it was identified
in the 10-current time frame. I'd wanted to use it since an append only
filesystem is well suited to SSDs, but found that while the code worked
OKish on the system when there was no load, but as soon as you started
churning vnodes it would panic. nandfs_lookup, for example, drops the lock
and relocks the vnode without refing it so it can disappear as soon as it
unlock returns if there's no reference. There's other places where there's
lock ordering issues with its use of the lock manager and the way it mixes
with mtx_lock/unlock. These two issues are what made me give up on it since
the quick, naive changes revealed the next layer of issues that I'm not
recalling at the moment.

Warner



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