tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: PUFFS lookup/reclaim race
Emmanuel Dreyfus <manu%netbsd.org@localhost> wrote:
> When kernel sends a lookup reuest to userland, it causes a node
> to be referenced in userland, but it does not know what vnode
> is associated before it gets the lookup reply. If the vnode
> already existed, it can be reclaimed before the lookup reply,
> there is no way to hold a reference on it, as we do not yet
> know what vnode we have to work with.
I have a simple fix, but it will work for perfuse and not for all PUFFS
filesystems.
FUSE sends a node TTL on each lookup. In order to avoid reclaim in the
middle of a lookup, I just have to ignore a reclaim for a node that (TTL
is not yet expired) AND (was not explicitely removed by the filesystem
though puffs_setback noref).
But the general problem for PUFFS filesystems remains unfixed, as PUFFS
filesystems are not required to send a TTL for a new node.
--
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu%netbsd.org@localhost
Home |
Main Index |
Thread Index |
Old Index