cvs commit: src/sys/fs/coda coda_vnops.c

Robert Watson rwatson at
Sun Mar 9 15:09:23 UTC 2008

rwatson     2008-03-09 15:09:22 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_7)
    sys/fs/coda          coda_vnops.c 
  Merge coda_vnops.c:1.86 from HEAD to RELENG_7:
    Before invoking vnode operations on cache vnodes, acquire the vnode
    locks of those vnodes.  Probably, Coda should do the same lock sharing/
    pass-through that is done for nullfs, but in the mean time this ensures
    that locks are adequately held to prevent corruption of data structures
    in the cache file system.
    Assuming most operations came from the top layer of Coda and weren't
    performed directly on the cache vnodes, in practice this corruption was
    relatively unlikely as the Coda vnode locks were ensuring exclusive
    access for most consumers.
    This causes WITNESS to squeal like a pig immediately when Coda is used,
    rather than waiting until file close; I noticed these problems because
    of the lack of said squealing.
  NB: Because WITNESS in RELENG_7 doesn't yet support lockmgr, said
  squealing doesn't yet happen in RELENG_7, but will do if/when lockmgr
  grows support for WITNESS there.
  Revision  Changes    Path  +9 -1      src/sys/fs/coda/coda_vnops.c

More information about the cvs-src mailing list