PERFORCE change 168845 for review

Edward Tomasz Napierala trasz at FreeBSD.org
Thu Sep 24 13:50:04 UTC 2009


http://perforce.freebsd.org/chv.cgi?CH=168845

Change 168845 by trasz at trasz_victim on 2009/09/24 13:49:06

	Add default implementation of VOP_ACCESS, as wrapper around
	VOP_ACCESSX, so that NFSv4-enabled filesystems don't have
	to implement both.

Affected files ...

.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_default.c#12 edit
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/vnode.h#36 edit

Differences ...

==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_default.c#12 (text+ko) ====

@@ -89,6 +89,7 @@
 	.vop_default =		NULL,
 	.vop_bypass =		VOP_EOPNOTSUPP,
 
+	.vop_access =		vop_stdaccess,
 	.vop_accessx =		vop_stdaccessx,
 	.vop_advlock =		vop_stdadvlock,
 	.vop_advlockasync =	vop_stdadvlockasync,
@@ -326,6 +327,16 @@
 }
 
 int
+vop_stdaccess(struct vop_access_args *ap)
+{
+
+	KASSERT((ap->a_accmode & ~(VEXEC | VWRITE | VREAD | VADMIN |
+	    VAPPEND)) == 0, ("invalid bit in accmode"));
+
+	return (VOP_ACCESSX(ap->a_vp, ap->a_accmode, ap->a_cred, ap->a_td));
+}
+
+int
 vop_stdaccessx(struct vop_accessx_args *ap)
 {
 	int error;

==== //depot/projects/soc2008/trasz_nfs4acl/sys/sys/vnode.h#36 (text+ko) ====

@@ -685,6 +685,7 @@
 int	vop_stdputpages(struct vop_putpages_args *);
 int	vop_stdunlock(struct vop_unlock_args *);
 int	vop_nopoll(struct vop_poll_args *);
+int	vop_stdaccess(struct vop_access_args *ap);
 int	vop_stdaccessx(struct vop_accessx_args *ap);
 int	vop_stdadvlock(struct vop_advlock_args *ap);
 int	vop_stdadvlockasync(struct vop_advlockasync_args *ap);


More information about the p4-projects mailing list