Module Name: src
Committed By: uebayasi
Date: Wed Jan 27 15:18:40 UTC 2010
Modified Files:
src/sys/miscfs/genfs: genfs_node.h genfs_vnops.c
Log Message:
Add genfs_node_rdtrylock().
To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/miscfs/genfs/genfs_node.h
cvs rdiff -u -r1.174 -r1.175 src/sys/miscfs/genfs/genfs_vnops.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/miscfs/genfs/genfs_node.h
diff -u src/sys/miscfs/genfs/genfs_node.h:1.17 src/sys/miscfs/genfs/genfs_node.h:1.18
--- src/sys/miscfs/genfs/genfs_node.h:1.17 Wed May 14 16:49:47 2008
+++ src/sys/miscfs/genfs/genfs_node.h Wed Jan 27 15:18:40 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: genfs_node.h,v 1.17 2008/05/14 16:49:47 reinoud Exp $ */
+/* $NetBSD: genfs_node.h,v 1.18 2010/01/27 15:18:40 uebayasi Exp $ */
/*
* Copyright (c) 2001 Chuck Silvers.
@@ -91,6 +91,7 @@
void genfs_node_wrlock(struct vnode *);
void genfs_node_rdlock(struct vnode *);
+void genfs_node_rdtrylock(struct vnode *);
void genfs_node_unlock(struct vnode *);
#endif /* _MISCFS_GENFS_GENFS_NODE_H_ */
Index: src/sys/miscfs/genfs/genfs_vnops.c
diff -u src/sys/miscfs/genfs/genfs_vnops.c:1.174 src/sys/miscfs/genfs/genfs_vnops.c:1.175
--- src/sys/miscfs/genfs/genfs_vnops.c:1.174 Fri Nov 20 13:42:43 2009
+++ src/sys/miscfs/genfs/genfs_vnops.c Wed Jan 27 15:18:40 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: genfs_vnops.c,v 1.174 2009/11/20 13:42:43 roy Exp $ */
+/* $NetBSD: genfs_vnops.c,v 1.175 2010/01/27 15:18:40 uebayasi Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -57,7 +57,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: genfs_vnops.c,v 1.174 2009/11/20 13:42:43 roy Exp $");
+__KERNEL_RCSID(0, "$NetBSD: genfs_vnops.c,v 1.175 2010/01/27 15:18:40 uebayasi Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -515,6 +515,14 @@
}
void
+genfs_node_rdtrylock(struct vnode *vp)
+{
+ struct genfs_node *gp = VTOG(vp);
+
+ rw_tryenter(&gp->g_glock, RW_READER);
+}
+
+void
genfs_node_unlock(struct vnode *vp)
{
struct genfs_node *gp = VTOG(vp);