diff options
author | jeff <jeff@FreeBSD.org> | 2008-04-11 09:48:12 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2008-04-11 09:48:12 +0000 |
commit | 8facfb056964e9008f5d249e71fe0ccbe88fb62a (patch) | |
tree | 532a9fd9a1a546b583599e0acf0580d0b512bcc6 /sys/rpc | |
parent | fef79bb2dbb31540a9d0ff6ef38f02e4d4def4ca (diff) | |
download | FreeBSD-src-8facfb056964e9008f5d249e71fe0ccbe88fb62a.zip FreeBSD-src-8facfb056964e9008f5d249e71fe0ccbe88fb62a.tar.gz |
- Use a lockmgr lock rather than a mtx to protect dirhash. This lock
may be held for the duration of the various dirhash operations which
avoids many complex unlock/lock/revalidate sequences.
- Permit shared locks on lookup. To protect the ip->i_dirhash pointer we
use the vnode interlock in the shared case. Callers holding the
exclusive vnode lock can run without fear of concurrent modification to
i_dirhash.
- Hold an exclusive dirhash lock when creating the dirhash structure for
the first time or when re-creating a dirhash structure which has been
recycled.
Tested by: kris, pho
Diffstat (limited to 'sys/rpc')
0 files changed, 0 insertions, 0 deletions