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