Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: [ad-namecache] src/sys
Module Name: src
Committed By: ad
Date: Sun Jan 19 21:19:25 UTC 2020
Modified Files:
src/sys/kern [ad-namecache]: vfs_cache.c vfs_getcwd.c vfs_lookup.c
src/sys/sys [ad-namecache]: fstypes.h namei.src
Log Message:
- Add a LOCKSHARED flag to namei (matching FreeBSD) indicating that we want
the leaf locked with LK_SHARED.
- Add an IMNT_SHRLOOKUP flag to struct mount indicating that the file
system can do VOP_LOOKUP() with an shared lock. If it encounters
something tricky, VOP_LOOKUP() is free to return ENOLCK and namei() will
retry the lookup with an exclusive lock. If the file system has this flag
set, namei() will try with shared locks for all of the "read only"
lookups, i.e. nameiop=LOOKUP or !ISLASTCN.
- vfs_getcwd: only take vnode locks when really needed, take shared locks if
possible, and where the namecache has identify info for the directories,
do it all in the namecache.
- vfs_lookup: when crossing mountpoints take only a shared lock on the
covered vnode; don't need anything else.
To generate a diff of this commit:
cvs rdiff -u -r1.126.2.8 -r1.126.2.9 src/sys/kern/vfs_cache.c
cvs rdiff -u -r1.53.2.2 -r1.53.2.3 src/sys/kern/vfs_getcwd.c
cvs rdiff -u -r1.212.4.3 -r1.212.4.4 src/sys/kern/vfs_lookup.c
cvs rdiff -u -r1.37 -r1.37.6.1 src/sys/sys/fstypes.h
cvs rdiff -u -r1.47.2.4 -r1.47.2.5 src/sys/sys/namei.src
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index