I'm sponsoring this for Janice Chang. This case adds a new VFS
Feature, VFSFT_SYSATTR_VIEWS, which is registered when a file system
supports the extended attribute files that describe extensible system
attributes (a.k.a. "views"). This case is an extension of the
Extensible Attribute Interface (PSARC 2007/315) which was approved with
"minor binding".
Since this case simply allows the (VFS) registration of an existing
interface, I'm filing this as Closed Approved Automatic. If anyone
disagrees, let me know and I'll promote it to a fast track.
Template Version: @(#)sac_nextcase %I% %G% SMI
This information is Copyright 2008 Sun Microsystems
1. Introduction
1.1. Project/Component Working Name:
VFSFT_SYSATTR_VIEWS
1.2. Name of Document Author/Supplier:
Author: Janice Chang
1.3 Date of This Document:
17 September, 2008
4. Technical Description
PSARC 2007/315 (Extensible Attribute Interfaces) introduced a set of
interfaces to retrieve and manipulate "extensible system attributes" on
file objects. Extensible system attributes (also known as "system
attributes") were introduced specifically to support the CIFS service,
which requires support for DOS attributes (PSARC 2006/715).
One of the interfaces described by this case is an extensible vattr_t
structure called xvattr_t. It is used with VOP_SETATTR()/VOP_GETATTR()
to set/retrieve the new system attributes. File systems that support
this interface communicate this to consumers by using the VFS Feature
Registration facility (PSARC 2007/227) to register VFSFT_XVATTR.
Another interface described by the "Extensible Attribute Interfaces"
case is called a "view." Each view exposes a group of system attributes
as an extended attribute file whose name begins with "SUNWattr_" (e.g.,
"SUNWattr_rw" for modifiable attributes and "SUNWattr_ro" for
attributes that cannot be modified). These views are used to accomodate
existing extended attribute aware utilities.
File systems that support modifiable system attributes use both the
xvattr_t and "views" interface. However, some file systems (tmpfs, ufs)
support only non-modifiable system attributes (e.g., FSID) which are
exposed only through a read-only view (SUNWattr_ro). Unfortunately,
the VFSFT_XVATTR feature was set on these file systems to indicate
support for system attributes. Overloading VFSFT_XVATTR meant that
consumers would attempt to retrieve system attributes by using xvattr_t
with VOP_GETATTR(), which would result in an error.
In order to remedy this problem, a new VFS Feature is introduced--
VFSFT_SYSATTR_VIEWS--which denotes support specifically for the "view"
interface for extensible system attributes. All ON file systems that
support views will be modified to register the VFSFT_SYSATTR_VIEWS
feature and only those ON file systems that support the xvattr_t
interface will register VFSFT_XVATTR.
Consumers (in particular, the CIFS service) will be able to reliably
determine which interface is available to manipulate the system
attributes of a file.
This change is Consolidation Private and will be communicated to the
unbundled file system teams (internal and external).
6. Resources and Schedule
6.4. Steering Committee requested information
6.4.1. Consolidation C-team Name:
ON
6.5. ARC review type: Automatic
6.6. ARC Exposure: open