cvs commit: src/sys/fs/coda coda_vnops.c
rwatson at FreeBSD.org
Fri Feb 8 15:01:41 PST 2008
rwatson 2008-02-08 23:01:40 UTC
FreeBSD src repository
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.
MFC after: 1 month
Revision Changes Path
1.86 +9 -1 src/sys/fs/coda/coda_vnops.c
More information about the cvs-src