summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2008-03-24 04:11:40 +0000
committerjeff <jeff@FreeBSD.org>2008-03-24 04:11:40 +0000
commit955d594912f6c2359a899523e6e3097a542d4a70 (patch)
tree47be9792fc07bec4cc0270ae8405fa3dc966a90d
parent08877248a38446e0ce22265220ccaa032ea39840 (diff)
downloadFreeBSD-src-955d594912f6c2359a899523e6e3097a542d4a70.zip
FreeBSD-src-955d594912f6c2359a899523e6e3097a542d4a70.tar.gz
- Remove an old comment; vnodes have been working without Giant for
years now. - Clarify the locking required for VI_DOOMED in preparation for simplifications to vget() and vn_lock().
-rw-r--r--sys/sys/vnode.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h
index ba23b18..feeac69 100644
--- a/sys/sys/vnode.h
+++ b/sys/sys/vnode.h
@@ -92,9 +92,6 @@ struct vpollinfo {
* 4) vget with LK_INTERLOCK and check for ENOENT, or
* 5) Check for DOOMED if the vnode lock is not required.
* 6) Perform your operation, then vput().
- *
- * XXX Not all fields are locked yet and some fields that are marked are not
- * locked consistently. This is a work in progress. Requires Giant!
*/
#if defined(_KERNEL) || defined(_KVM_VNODE)
@@ -230,6 +227,9 @@ struct xvnode {
* Vnode flags.
* VI flags are protected by interlock and live in v_iflag
* VV flags are protected by the vnode lock and live in v_vflag
+ *
+ * VI_DOOMED is doubly protected by the interlock and vnode lock. Both
+ * are required for writing but the status may be checked with either.
*/
#define VI_MOUNT 0x0020 /* Mount in progress */
#define VI_AGE 0x0040 /* Insert vnode at head of free list */
OpenPOWER on IntegriCloud