Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/share/man/man9 * document VOP_DELETEEXTATTR
details: https://anonhg.NetBSD.org/src/rev/5ff139d6174b
branches: trunk
changeset: 754999:5ff139d6174b
user: pooka <pooka%NetBSD.org@localhost>
date: Wed May 19 13:20:32 2010 +0000
description:
* document VOP_DELETEEXTATTR
* remove "vector element" from summary table:
1) deleteextattr caused problems for 80col rendering
2) it's not correct on NetBSD, we use the VOFFSET instead (!)
diffstat:
share/man/man9/vnodeops.9 | 120 ++++++++++++++++++++++++++-------------------
1 files changed, 68 insertions(+), 52 deletions(-)
diffs (163 lines):
diff -r addbcc499919 -r 5ff139d6174b share/man/man9/vnodeops.9
--- a/share/man/man9/vnodeops.9 Wed May 19 12:50:49 2010 +0000
+++ b/share/man/man9/vnodeops.9 Wed May 19 13:20:32 2010 +0000
@@ -1,4 +1,4 @@
-.\" $NetBSD: vnodeops.9,v 1.77 2009/05/04 20:08:07 wiz Exp $
+.\" $NetBSD: vnodeops.9,v 1.78 2010/05/19 13:20:32 pooka Exp $
.\"
.\" Copyright (c) 2001, 2005, 2006 The NetBSD Foundation, Inc.
.\" All rights reserved.
@@ -27,7 +27,7 @@
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd August 5, 2008
+.Dd May 19, 2010
.Dt VNODEOPS 9
.Os
.Sh NAME
@@ -76,7 +76,8 @@
.Nm VOP_BWRITE ,
.Nm VOP_GETEXTATTR ,
.Nm VOP_SETEXTATTR ,
-.Nm VOP_LISTEXTATTR
+.Nm VOP_LISTEXTATTR ,
+.Nm VOP_DELETEEXTATTR
.Nd vnode operations
.Sh SYNOPSIS
.In sys/param.h
@@ -206,6 +207,9 @@
.Ft int
.Fn VOP_LISTEXTATTR "struct vnode *vp" "int attrnamespace" "struct uio *uio" \
"size_t *size" "kauth_cred_t cred"
+.Ft int
+.Fn VOP_DELETEEXTATTR "struct vnode *vp" "int attrnamespace" \
+"const char *name" "kauth_cred_t cred"
.Pp
Not all header files are required for each function.
.Sh DESCRIPTION
@@ -222,56 +226,56 @@
.Pp
Functions in the vnode operations vector are invoked using specialized
macros.
-The following table lists the elements of the vnode operations vector,
-the corresponding invocation macro, and a description of the element.
+The following table gives a summary of the operations.
.Pp
-.Bl -column "int (*vop_strategy)()" "VOP_LISTEXTATTR" "Wake up process sleeping on lock" -compact
-.It Sy Vector element Ta Sy Macro Ta Sy Description
-.It int (*vop_lookup)() VOP_LOOKUP Lookup file name in name cache
-.It int (*vop_create)() VOP_CREATE Create a new file
-.It int (*vop_mknod)() VOP_MKNOD Make a new device
-.It int (*vop_open)() VOP_OPEN Open a file
-.It int (*vop_close)() VOP_CLOSE Close a file
-.It int (*vop_access)() VOP_ACCESS Determine file accessibility
-.It int (*vop_getattr)() VOP_GETATTR Get file attributes
-.It int (*vop_setattr)() VOP_SETATTR Set file attributes
-.It int (*vop_read)() VOP_READ Read from a file
-.It int (*vop_write)() VOP_WRITE Write to a file
-.It int (*vop_ioctl)() VOP_IOCTL Perform device-specific I/O
-.It int (*vop_fcntl)() VOP_FCNTL Perform file control
-.It int (*vop_poll)() VOP_POLL Test if poll event has occurred
-.It int (*vop_kqfilter)() VOP_KQFILTER Register a knote
-.It int (*vop_revoke)() VOP_REVOKE Eliminate vode activity
-.It int (*vop_mmap)() VOP_MMAP Map file into user address space
-.It int (*vop_fsync)() VOP_FSYNC Flush pending data to disk
-.It int (*vop_seek)() VOP_SEEK Test if file is seekable
-.It int (*vop_remove)() VOP_REMOVE Remove a file
-.It int (*vop_link)() VOP_LINK Link a file
-.It int (*vop_rename)() VOP_RENAME Rename a file
-.It int (*vop_mkdir)() VOP_MKDIR Make a new directory
-.It int (*vop_rmdir)() VOP_RMDIR Remove a directory
-.It int (*vop_symlink)() VOP_SYMLINK Create a symbolic link
-.It int (*vop_readdir)() VOP_READDIR Read directory entry
-.It int (*vop_readlink)() VOP_READLINK Read contents of a symlink
-.It int (*vop_abortop)() VOP_ABORTOP Abort pending operation
-.It int (*vop_inactive)() VOP_INACTIVE Release the inactive vnode
-.It int (*vop_reclaim)() VOP_RECLAIM Reclaim vnode for another file
-.It int (*vop_lock)() VOP_LOCK Sleep until vnode lock is free
-.It int (*vop_unlock)() VOP_UNLOCK Wake up process sleeping on lock
-.It int (*vop_islocked)() VOP_ISLOCKED Test if vnode is locked
-.It int (*vop_bmap)() VOP_BMAP Logical block number conversion
-.It int (*vop_print)() VOP_PRINT Print debugging information
-.It int (*vop_pathconf)() VOP_PATHCONF Return POSIX pathconf data
-.It int (*vop_advlock)() VOP_ADVLOCK Advisory record locking
-.It int (*vop_lease)() VOP_LEASE Validate vnode credentials
-.It int (*vop_whiteout)() VOP_WHITEOUT Whiteout vnode
-.It int (*vop_getpages)() VOP_GETPAGES Read VM pages from file
-.It int (*vop_putpages)() VOP_PUTPAGES Write VM pages to file
-.It int (*vop_strategy)() VOP_STRATEGY Read/write a file system buffer
-.It int (*vop_bwrite)() VOP_BWRITE Write a file system buffer
-.It int (*vop_getextattr)() VOP_GETEXTATTR Get extended attribute
-.It int (*vop_setextattr)() VOP_SETEXTATTR Set extended attribute
-.It int (*vop_listextattr)() VOP_LISTEXTATTR List extended attributes
+.Bl -column "VOP_DELETEEXTATTR" "Wake up process sleeping on lock" -compact
+.It Sy Macro Ta Sy Description
+.It VOP_LOOKUP Lookup file name in name cache
+.It VOP_CREATE Create a new file
+.It VOP_MKNOD Make a new device
+.It VOP_OPEN Open a file
+.It VOP_CLOSE Close a file
+.It VOP_ACCESS Determine file accessibility
+.It VOP_GETATTR Get file attributes
+.It VOP_SETATTR Set file attributes
+.It VOP_READ Read from a file
+.It VOP_WRITE Write to a file
+.It VOP_IOCTL Perform device-specific I/O
+.It VOP_FCNTL Perform file control
+.It VOP_POLL Test if poll event has occurred
+.It VOP_KQFILTER Register a knote
+.It VOP_REVOKE Eliminate vode activity
+.It VOP_MMAP Map file into user address space
+.It VOP_FSYNC Flush pending data to disk
+.It VOP_SEEK Test if file is seekable
+.It VOP_REMOVE Remove a file
+.It VOP_LINK Link a file
+.It VOP_RENAME Rename a file
+.It VOP_MKDIR Make a new directory
+.It VOP_RMDIR Remove a directory
+.It VOP_SYMLINK Create a symbolic link
+.It VOP_READDIR Read directory entry
+.It VOP_READLINK Read contents of a symlink
+.It VOP_ABORTOP Abort pending operation
+.It VOP_INACTIVE Release the inactive vnode
+.It VOP_RECLAIM Reclaim vnode for another file
+.It VOP_LOCK Sleep until vnode lock is free
+.It VOP_UNLOCK Wake up process sleeping on lock
+.It VOP_ISLOCKED Test if vnode is locked
+.It VOP_BMAP Logical block number conversion
+.It VOP_PRINT Print debugging information
+.It VOP_PATHCONF Return POSIX pathconf data
+.It VOP_ADVLOCK Advisory record locking
+.It VOP_LEASE Validate vnode credentials
+.It VOP_WHITEOUT Whiteout vnode
+.It VOP_GETPAGES Read VM pages from file
+.It VOP_PUTPAGES Write VM pages to file
+.It VOP_STRATEGY Read/write a file system buffer
+.It VOP_BWRITE Write a file system buffer
+.It VOP_GETEXTATTR Get extended attribute
+.It VOP_SETEXTATTR Set extended attribute
+.It VOP_LISTEXTATTR List extended attributes
+.It VOP_DELETEEXTATTR Remove extended attribute
.El
.Pp
The implementation details of the vnode operations vector are not
@@ -1401,6 +1405,18 @@
The argument
.Fa cred
specifies the user credentials to use when authorizing the request.
+.It Fn VOP_DELETEEXTATTR "vp" "attrnamespace" "name" "cred"
+Remove attribute
+.Fa name
+from file associated with
+.Fa vp .
+The argument
+.Fa attrnamespace
+specifies the extended attribute namespace.
+If full removal is not supported, the file system should return
+.Er EOPNOTSUPP
+to allow the caller to zero out the value with
+.Fn VOP_SETEXTATTR .
.El
.Sh ERRORS
.Bl -tag -width Er
Home |
Main Index |
Thread Index |
Old Index