summaryrefslogtreecommitdiffstats
path: root/sys/fs/tmpfs/tmpfs.h
diff options
context:
space:
mode:
authordelphij <delphij@FreeBSD.org>2007-08-03 06:24:31 +0000
committerdelphij <delphij@FreeBSD.org>2007-08-03 06:24:31 +0000
commit8f39689f22ef1c7ad458c19e91b75513946a3ac7 (patch)
tree365e862f83ff44d36c30869e51148e9c45df2402 /sys/fs/tmpfs/tmpfs.h
parentdf648ac5178b3ae8c5f25a5ea45ecaf44e82ca6e (diff)
downloadFreeBSD-src-8f39689f22ef1c7ad458c19e91b75513946a3ac7.zip
FreeBSD-src-8f39689f22ef1c7ad458c19e91b75513946a3ac7.tar.gz
MFp4 - Refine locking to eliminate some potential race/panics:
- Copy before testing a pointer. This closes a race window. - Use msleep with the node interlock instead of tsleep. - Do proper locking around access to tn_vpstate. - Assert vnode VOP lock for dir_{atta,de}tach to capture inconsistent locking. Suggested by: kib Submitted by: delphij Reviewed by: Howard Su Approved by: re (tmpfs blanket)
Diffstat (limited to 'sys/fs/tmpfs/tmpfs.h')
-rw-r--r--sys/fs/tmpfs/tmpfs.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/fs/tmpfs/tmpfs.h b/sys/fs/tmpfs/tmpfs.h
index 9ef7731..f681e32 100644
--- a/sys/fs/tmpfs/tmpfs.h
+++ b/sys/fs/tmpfs/tmpfs.h
@@ -256,6 +256,7 @@ LIST_HEAD(tmpfs_node_list, tmpfs_node);
#define TMPFS_NODE_LOCK(node) mtx_lock(&(node)->tn_interlock)
#define TMPFS_NODE_UNLOCK(node) mtx_unlock(&(node)->tn_interlock)
+#define TMPFS_NODE_MTX(node) (&(node)->tn_interlock)
#define TMPFS_VNODE_ALLOCATING 1
#define TMPFS_VNODE_WANT 2
OpenPOWER on IntegriCloud