DragonFly users List (threaded) for 2008-01
DragonFly BSD
DragonFly users List (threaded) for 2008-01
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: renaming the current working directory (cwd)


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Sat, 12 Jan 2008 13:45:11 -0800 (PST)

    What's happening is that DragonFly stores the current, root, and jail
    directory for a process as a pointer into the namecache rather then a
    pointer to a vnode.  The main reason for doing this is to allow mounts,
    such as nullfs mounts, to represent the same vnode via different
    filesystem paths instead of creating forwarding vnodes.  Basically it
    allows us to overlay vnodes without having to creating dummy vnodes.

    The current cache_rename() code is the culprit.  It is not moving the
    namecache structure within the namecache topology but is instead copying
    the contents of the namecache structure to a new namecache structure,
    leaving the process's cwd pointing to the old (now invalid) structure.

    I'll see if I can get this fixed today.  There are a few issues with
    regards to lookup and namespace locking races but they can't be any
    worse then the issues already present.

						-Matt




[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]