DragonFly kernel List (threaded) for 2006-01
Matthew Dillon wrote:
There is one issue with regards to overlayed namecache entries.
The issue occurs when you try to do a rename() or other namespace
operation and you have multiple namecache records refering to the
same physical namespace. Since rename() locks the namespace by locking
the related namecache records, it becomes possible for a namespace
operation in the nullfs layer to race a namespace operation in the
underlying filesystem layer. The system probably wouldn't be too happy
when this happens.
Maybe a doubly linked list of/in the namecache entries. Locking would
always lock either just the first entry in the list (I think that's
sufficient) or at least always obey the same order to prevent deadlocks.
This way renames to self (in another incarnation) can be detected as
well (by running through the list).
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 / \