Discussion:
NANDFS -- Any current users?
Warner Losh
2018-11-02 17:01:26 UTC
Permalink
Are there any current users of NANDFS?

Warner
Ian Lepore
2018-11-02 17:07:38 UTC
Permalink
Post by Warner Losh
Are there any current users of NANDFS?
This may be a good thing to ask in arm@ and ***@. 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).

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.

-- Ian
Warner Losh
2018-11-02 17:26:44 UTC
Permalink
Post by Ian Lepore
Post by Warner Losh
Are there any current users of NANDFS?
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.
Post by Ian Lepore
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

Loading...