DragonFly kernel List (threaded) for 2006-01
Re: nullfs stabilization I
Matthew Dillon wrote:
(2) Do not have a shadow callback. Instead have null_nresolve()
call a new function, cache_shadow(), which creates the relationship
between the upper and lower layer namecache records. Only
null_nresolve() would need the added sophistication.
While I completely agree with the rest of your proposals, I see one
Imagine you create a file in the NULLFS layer. For this the code
cache_lookup()s and then gets a locked namecache entry, which might not
be resolved yet (new file, not in cache). This would mean that we have
a locked record but no shadow association. At the same time another
process can race in the shadowed layer and as well lock the record which
is the counterpart to the already locked NULLFS namecache entry.
Not good. This is the reason why I used this callback in the first
place. Do you have a better method to do this?
Serve - BSD +++ RENT this banner advert +++ ASCII Ribbon /"\
Work - Mac +++ space for low €€€ NOW!1 +++ Campaign \ /
Party Enjoy Relax | http://dragonflybsd.org Against HTML \
Dude 2c 2 the max ! http://golden-apple.biz Mail + News / \