summaryrefslogtreecommitdiffstats
path: root/sys/kern/vnode_if.src
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2002-09-05 20:56:14 +0000
committerphk <phk@FreeBSD.org>2002-09-05 20:56:14 +0000
commitaa2987768bfbf0c07c64abcecbf3d06ee0f5c86a (patch)
tree95b5048473c4dc13d91dd9f372df82d4b5b81cbd /sys/kern/vnode_if.src
parent3303b3f624a2e38f031911047956bf9b836ed368 (diff)
downloadFreeBSD-src-aa2987768bfbf0c07c64abcecbf3d06ee0f5c86a.zip
FreeBSD-src-aa2987768bfbf0c07c64abcecbf3d06ee0f5c86a.tar.gz
Introduce the VOP_OPENEXTATTR() and VOP_CLOSEEXTATTR() methods.
Together these two implement a simple transcation style grouping for modifications of extended attributes on a vnode. VOP_CLOSEEXTATTR() takes a boolean "commit" argument, which determines if the aggregate changes are attempted written or not. A commit will fail if any of the VOP_SETEXTATTR() calls since the VOP_OPENEXTATTR() have failed to meet their objective or if the flush to disk fails. The default operations for these two VOP's is to return EOPNOTSUPP. This API may still be subject to change. Sponsored by: DARPA & NAI Labs
Diffstat (limited to 'sys/kern/vnode_if.src')
-rw-r--r--sys/kern/vnode_if.src19
1 files changed, 19 insertions, 0 deletions
diff --git a/sys/kern/vnode_if.src b/sys/kern/vnode_if.src
index 8971627..3202058 100644
--- a/sys/kern/vnode_if.src
+++ b/sys/kern/vnode_if.src
@@ -513,6 +513,16 @@ vop_aclcheck {
};
#
+#% closeextattr vp L L L
+#
+vop_closeextattr {
+ IN struct vnode *vp;
+ IN int commit;
+ IN struct ucred *cred;
+ IN struct thread *td;
+};
+
+#
#% getextattr vp L L L
#
vop_getextattr {
@@ -526,6 +536,15 @@ vop_getextattr {
};
#
+#% openextattr vp L L L
+#
+vop_openextattr {
+ IN struct vnode *vp;
+ IN struct ucred *cred;
+ IN struct thread *td;
+};
+
+#
#% setextattr vp L L L
#
vop_setextattr {
OpenPOWER on IntegriCloud