Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
EXTATTR(9)		   Kernel Developer's Manual		    EXTATTR(9)

NAME
       extattr -- virtual file system named extended attributes

SYNOPSIS
       #include	<sys/param.h>
       #include	<sys/vnode.h>
       #include	<sys/extattr.h>

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 de-
       fined  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  sys-
       tems  may implement additional namespaces, or not implement these name-
       spaces: EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM.   The	seman-
       tics  of	these attributes are intended to be as follows:	user attribute
       data is protected according the normal discretionary and	mandatory pro-
       tections	associated with	the data in the	file or	directory; system  at-
       tribute	data  is protected such	that appropriate privilege is required
       to  directly  access  or	 manipulate  these  attributes.	  By  default,
       processes  in  a	jail(8)	cannot access the system attribute data	unless
       the allow.extattr configuration parameter is specified.

       Reads of	extended attribute data	may return specific contiguous regions
       of the meta-data, in the	style of 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,	avail-
       ability	and  functionality of these functions may be limited, and they
       should be used with awareness of	the underlying semantics of  the  sup-
       porting 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.

       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:
       VOP_GETEXTATTR(9), VOP_LISTEXTATTR(9), and VOP_SETEXTATTR(9).

SEE ALSO
       jail(8),	      VFS(9),	   VOP_GETEXTATTR(9),	   VOP_LISTEXTATTR(9),
       VOP_SETEXTATTR(9)

AUTHORS
       This manual page	was written by Robert Watson.

BUGS
       In addition, the	interface does not provide a mechanism to retrieve the
       current set of available	attributes; it has been	suggested that provid-
       ing a NULL attribute name should	cause a	list of	defined	attributes for
       the passed file or directory, but this is not currently implemented.

FreeBSD	15.0		       September 5, 2023		    EXTATTR(9)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=extattr&sektion=9&manpath=FreeBSD+15.0-RELEASE+and+Ports>

home | help