diff options
author | Dale Rahn <drahn@cvs.openbsd.org> | 2002-02-22 21:13:19 +0000 |
---|---|---|
committer | Dale Rahn <drahn@cvs.openbsd.org> | 2002-02-22 21:13:19 +0000 |
commit | 771a7452a0e2a3099666730bc6c216519660fbf8 (patch) | |
tree | 4ed9695e3eb8dff6c838af19eec7e6859a0bdad1 | |
parent | 0688dac79a63b54c64da716b7c719934f27f988e (diff) |
Extended Attribute support, from FreeBSD/TrustedBSD. ok art@ deraadt@
-rw-r--r-- | share/man/man4/options.4 | 4 | ||||
-rw-r--r-- | share/man/man9/Makefile | 3 | ||||
-rw-r--r-- | share/man/man9/extattr.9 | 88 |
3 files changed, 93 insertions, 2 deletions
diff --git a/share/man/man4/options.4 b/share/man/man4/options.4 index 9a60c37c26d..f95e0c8cda1 100644 --- a/share/man/man4/options.4 +++ b/share/man/man4/options.4 @@ -1,4 +1,4 @@ -.\" $OpenBSD: options.4,v 1.93 2002/02/14 22:57:46 art Exp $ +.\" $OpenBSD: options.4,v 1.94 2002/02/22 21:13:18 drahn Exp $ .\" $NetBSD: options.4,v 1.21 1997/06/25 03:13:00 thorpej Exp $ .\" .\" Copyright (c) 1998 Theo de Raadt @@ -514,6 +514,8 @@ With this option, only the superuser can set them, and they can't be cleared if the securelevel is greater than 0. See also .Xr chflags 1 . +.It Cd option UFS_EXTATTR +This option enables Extended Attribute support for UFS filesystems. .El .Ss Miscellaneous Options .Bl -ohang diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile index cf55472dd97..e2269294371 100644 --- a/share/man/man9/Makefile +++ b/share/man/man9/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.46 2002/02/15 02:01:01 art Exp $ +# $OpenBSD: Makefile,v 1.47 2002/02/22 21:13:18 drahn Exp $ # $NetBSD: Makefile,v 1.4 1996/01/09 03:23:01 thorpej Exp $ # Makefile for section 9 (kernel function and variable) manual pages. @@ -6,6 +6,7 @@ MAN= altq.9 audio.9 boot.9 bus_dma.9 bus_space.9 copy.9 crypto.9 ctxsw.9 \ disk.9 disklabel.9 \ dohooks.9 dopowerhooks.9 doshutdownhooks.9 dostartuphooks.9 \ + extattr.9 \ fetch.9 fork1.9 extent.9 \ hardclock.9 hook_establish.9 hz.9 hzto.9 intro.9 inittodr.9 log.9 \ kthread.9 malloc.9 mbuf.9 mbuf_tags.9 md5.9 microtime.9 \ diff --git a/share/man/man9/extattr.9 b/share/man/man9/extattr.9 new file mode 100644 index 00000000000..f8e59fce780 --- /dev/null +++ b/share/man/man9/extattr.9 @@ -0,0 +1,88 @@ +.\"- +.\" Copyright (c) 1999, 2000, 2001 Robert N. M. Watson +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD: extattr.9,v 1.9 2001/10/01 16:09:24 ru Exp $ +.\" +.Dd December 23, 1999 +.Os +.Dt EXTATTR 9 +.Sh NAME +.Nm extattr +.Nd virtual file system named extended attributes +.Sh SYNOPSIS +.In sys/param.h +.In sys/vnode.h +.In sys/extattr.h +.Sh DESCRIPTION +Named extended attributes allow additional meta-data to be associated +with vnodes representing files and directories. +The semantics of this additional data is that of a "name=value" pair, where +a name may be defined or undefined, and if defined, associated with zero or +more bytes of arbitrary binary data. +Extended attribute names exist within a set of namespaces; each operation +on an extended attribute is required to provide the namespace to which to +operation refers. +If the same name is present in multiple namespaces, the extended attributes +associated with the names are stored and manipulated independently. +The following two namespaces are defined universally, although individual +file systems may implement additional namespaces, or not implement +these namespaces: +.Dv EXTATTR_NAMESPACE_USER , +.Dv EXTATTR_NAMESPACE_SYSTEM . +The semantics of these attributes are intended to be as follows: user +attribute data is protected according the normal discretionary +and mandatory protections associated with the data in the file or +directory; system attribute data is protected such that appropriate +privilege is required to directly access or manipulate these attributes. +.Pp +Reads of extended attribute data may return specific contiguous regions of +the meta-data, in the style of +.Xr VOP_READ 9 , +but writes will replace the entire current "value" associated with +a given name. +As there are a plethora of file systems with differing extended attributes, +availability and functionality of these functions may be limited, and they +should be used with awareness of the underlying semantics of the supporting +file system. +Authorization schemes for extended attribute data may also vary by file +system, as well as maximum attribute size, and whether or not any or +specific new attributes may be defined. +.Pp +Extended attributes are named using a null-terminated character string. +Depending on underlying file system semantics, this name may or may not be +case-sensitive. Appropriate vnode extended attribute calls are: +.Xr VOP_GETEXTATTR 9 +and +.Xr VOP_SETEXTATTR 9 . +.Sh AUTHORS +This man page was written by +.An Robert Watson . +.Sh BUGS +In addition, the interface does not provide a mechanism to retrieve +the current set of available attributes; it has been suggested that +providing a +.Dv NULL +attribute name should cause a list of defined attributes for the passed file +or directory, but this is not currently implemented. |