CIFS system attributes support for cp(1), pack(1), unpack(1), compress(1) and uncompress(1) [PSARC/2007/432 FastTrack timeout 08/02/2007]

Don Cragun don.cragun at sun.com
Thu Jul 26 09:22:42 PDT 2007


I am sponsoring this case for Basabi Bhattacharya.  It is related to
the recent cases adding extended system attributes support to ls and
chmod.  One more case in this series (for the archiver utilities) is
expected in the near future.

This case times out on August 2, 2007.

 - Don

Template Version: @(#)sac_nextcase 1.64 07/13/07 SMI
This information is Copyright 2007 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
	 CIFS system attributes support for cp(1), pack(1), unpack(1), compress(1) and uncompress(1)
    1.2. Name of Document Author/Supplier:
	 Author:  Basabi Bhattacharya
    1.3  Date of This Document:
	26 July, 2007
4. Technical Description

This case adds a new command line option '-/' to cp(1), pack(1), unpack(1),
compress(1) and uncompress(1) to support the extended system attributes
added in PSARC case 2007/315.

I.  Overview

The Extensible Attribute Interfaces (PSARC/2007/315) project introduced
a number of extended system file attributes.  The system utilities need
to be able to display and manipulate these new attributes.

This fasttrack case adds a new option ("-/") to the utilities cp(1),
pack(1), unpack(1), compress(1) and uncompress(1) to copy the extended
system attributes from the target file to the destination file. If the
files have ACLs, then the ACLs are also copied.

The option name '/' was chosen to match its use in the ls utility (see
PSARC/2007/394).  The project team, therefore, asks for a waiver to
CLIP Guideline #3 ("Each option name should be a single alphanumeric
character (the alnum character classification) from the portable
character set.  ...") so the use of this option name can be consistent
across all of the affected utilities.

II.  Release Binding

The project team requests a minor release binding.

III.  Details

When this option is specified in the command line, the extended system
attributes and the ACL from the source file are copied to the destination 
file.

For example, 'cp -/ source_file target_file' <--- the target_file
		will have the extended system attributes of the
		source_file (provided the user has the permission
		and the privilege to set extended system attributes).

	     'pack -/ source_file'  <--- the packed file 'source_file.z'
		will have the extended system attributes of the
		source_file (provided the user has the permission
		and the privilege to set extended system attributes).

	     'unpack -/ source_file.z'  <--- the unpacked file source_file
		will have the extended system attributes of the
		source_file.z (provided the user has the permission
		and the privilege to set extended system attributes).
		
	     'compress -/ source_file'  <--- the compressed file 'source_file.Z'
		will have the extended system attributes of the
		source_file (provided the user has the permission
		and the privilege to set extended system attributes).

	     'uncompress -/ source_file.Z'  <--- the uncompressed file 'source_file
		will have the extended system attributes of the
		source_file.Z (provided the user has the permission
		and the privilege to set extended system attributes).


See the diff-marked, updated cp(1), pack(1), unpack(1), compress(1) and
uncompress(1) man pages in this case's materials directory for a
detailed description of this option.

IV. Interfaces
    IV.1 Exported Interfaces
        ______________________________________
        |     Interface       |Classification|
        |_____________________|______________|
        |/usr/bin/cp	      |              |
        |/usr/xpg4/bin/cp     |   Committed  |
        |/usr/bin/pack        |              |
        |/usr/bin/unpack      |              |
        |/usr/bin/compress    |              |
        |/usr/bin/uncompress  |              |
        |_____________________|______________|

    IV.2 Imported Interfaces
        _________________________________________________________________
	|    Interface        | Classification |        Comments         |
	|================================================================|
	| _PC_SATTR_ENABLED   | Consolidation  | [f]pathconf() variables |
	| _PC_SATTR_EXISTS    |    Private     | from PSARC/2007/315.    |
	|_____________________+________________+_________________________|
	| fgetattr()          | Consolidation  | From PSARC/2007/315.    |
	| fsetattr()          |    Private     |                         |
	|_____________________+________________+_________________________|

	All of these are mentioned here only to register use of these
	interfaces.  Note, however, that PSARC/2007/315 case materials
	don't make clear the interface taxonomy for fgetattr() and
	other functions listed on the fgetattr(3C) man page.  (The last
	specification (spec.final.txt) says that all of the functions
	listed on the fgetattr(3C) man page including fgetattr() are
	consolidation private; fgetattr.3c (in the same directory) says
	that all of the functions described there are Evolving).


5. References
	CR 6576205 	cp(1), pack(1) and compress(1) should support file
			system attributes proposed in PSARC/2007/315

	PSARC/1999/645	Command Line Interface (CLIP)
	PSARC/2006/715	CIFS Service
	PSARC/2007/315	Extensible Attribute Interfaces
	PSARC/2007/394  ls(1) new command line options '-/' and '-%': CIFS
			system attributes support
	PSARC/2007/410  Add system attribute support to chmod(1)

6. Resources and Schedule
    6.4. Steering Committee requested information
   	6.4.1. Consolidation C-team Name:
		ON
    6.5. ARC review type: FastTrack
    6.6. ARC Exposure: open




More information about the opensolaris-arc mailing list