Method and apparatus for providing extended file attributes in an extended attribute namespace
AssigneeSun Microsystems, Inc.
InventorsAndrew M. Rudoff, Mark J. Maybee, Mark L. Shellenbaum
Life of this patent
Estimating the term…
Abstract
A system for providing extended file attributes is described. Logically, attributes are supported as files within the file system. In this way, the file system is augmented with an orthogonal namespace of file attributes. According, any file (including attribute files) may have an arbitrarily deep attribute tree associated with it. Access to the attribute values is via file descriptors obtained via a special attribute interface. This logical view of “attributes as files” allows the leveraging of existing file system interface functionality to support the construction, deletion, and manipulation of attributes.
Claims7
A method for exposing a value of a selected extended attribute in an extended attribute namespace, wherein the extended attribute is associated with a node in a directory tree namespace that is orthogonal to the extended attribute namespace, comprising:
- determining if the selected extended attribute exists;
- determining if a mapping for the selected extended attribute exists;
- if the mapping for the selected extended attribute does not exist, then in the extended attribute namespace,
- creating a virtual directory,
- creating a virtual file,
- associating the virtual file with the virtual directory, and
- mapping content of the virtual file to the selected extended attribute;
- performing a selected extended attribute operation;
- and
- exposing a value of the selected extended attribute.
An apparatus for exposing a value of a selected extended attribute in an extended attribute namespace, wherein the extended attribute is associated with a node in a directory tree namespace that is orthogonal to the extended attribute namespace, comprising:
- means for determining if the selected extended attribute exists;
- means for determining if a mapping for the selected extended attribute exists;
- if the mapping of the selected extended attribute does not exist, then in the extended attribute namespace,
- means for creating a virtual directory,
- means for creating a virtual file,
- means for associating the virtual file with the virtual directory, and
- means for mapping content of the virtual file to the selected extended attribute;
- means for performing a selected extended attribute operation and
- means for exposing the selected extended attribute.
Computer program product resident on a computer for exposing a value of a selected extended attribute in an extended attribute namespace, wherein the extended attribute is associated with a node in a directory tree namespace that is orthogonal to the extended attribute namespace, comprising:
- computer code for determining if the selected extended attribute exists;
- computer code for determining if a mapping for the selected extended attribute exists;
- if the mapping of the selected extended attribute does not exist, then in the extended attribute namespace,
- computer code for creating a virtual directory,
- computer code for creating a virtual file;
- computer code for associating the virtual file with the virtual directory, and
- computer code for mapping content of the virtual file to the selected extended attribute;
- computer code for performing a selected extended attribute operation;
- computer code for viewing the selected extended attribute;
- and
- computer readable medium for storing the computer code.
Dependencies are inferred from the claim text.