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

Re: a take at cache coherency


From: "Simon 'corecode' Schubert" <corecode@xxxxxxxxxxxx>
Date: Mon, 23 Jan 2006 13:32:16 +0100

Csaba Henk wrote:

  - Unidirectonal synchronization. Only upper layers keep a reference to
    lower ones, a lower ("shadowed") layer doesn't need to be aware of
    being overlayed.
  - Namecache API got messed up a bit, too. Some attributes can't be
    accessed directly: you can't use "ncp->nc_vp", you need to do
    "cache_grphead(ncp)->nc_vp". Eventually some kind of wrapper should
    be made around namecache entries, so that you could write eg.
    "NC_VP(ncp)". At this stage I didn't do this.
  - Some attributes of namecache entries were transformed into shadow
    group attributes: these are

      nc_vp, nc_error, nc_timeout, nc_exlocks, nc_locktd, and some of
      the flags:
        NCF_LOCKED, NCF_WHITEOUT, NCF_UNRESOLVED, NCF_ISSYMLINK, NCF_ISDIR,
        NCF_ISDESTROYED
      -- ie, attributes which refer the underlying vnode, and locking.

i'm sorry but i don't like the patch for those reasons. general vfs code gets cluttered with namecache interal going-ons (the shadow groups) and makes it super-easy to introduce a mistake.


I think if we already carry the fields around in the namecache structs we should also populate them.

    * Unsolved issues. It's not handled properly when the lower layer
      gets unmounted. There are two possible behaviours:

        - keep lower fs busy, don't let it go.
	- let lower fs go; when it's gone, return ENXIO from calls.

+ renames on the lower layer don't trigger namecache renames/invalidations on a higher layer. this is what the coherency should be about, i think.


maybe we should discuss design before actually implementing it? :)

cheers
  simon

--
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   / \



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