DragonFly BSD
DragonFly kernel List (threaded) for 2003-09
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: cache_lookup() work this week.


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 3 Sep 2003 09:19:17 -0700 (PDT)

:
:You've wrote that "The one representing "d" will be a negative cache entry,
:placemarking the operation.".
:So maybe this negative entry could be treated as file in directory.
:In other words 'lock d' will create some shade object in 'c' directory
:(in namecache) and this will prevent removing 'c'. Or whatever...
:
:--=20
:Pawel Jakub Dawidek                       pawel@xxxxxxxxxxx

    D would prevent C from being rmdir'd simply by being locked in the
    namecache and preventing C from being able to flush its children in the
    cache.  This will have the effect delaying the rmdir until after the
    rename has completed, after which the rmdir will fail due to the directory
    not being empty.

    We can't actually create D prior to the operation because it might
    block and break the atomicy of the operation.  The big advantage of
    using the namecache to lock the namespace is that atomicy can be
    maintained.

						-Matt




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