diff options
author | phk <phk@FreeBSD.org> | 2002-09-05 20:56:14 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2002-09-05 20:56:14 +0000 |
commit | aa2987768bfbf0c07c64abcecbf3d06ee0f5c86a (patch) | |
tree | 95b5048473c4dc13d91dd9f372df82d4b5b81cbd /sys/kern/vnode_if.src | |
parent | 3303b3f624a2e38f031911047956bf9b836ed368 (diff) | |
download | FreeBSD-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.src | 19 |
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 { |