OpenAFS CVS Commit: openafs/src/WINNT/afsd by jaltman

cvs@GRAND.CENTRAL.ORG cvs@GRAND.CENTRAL.ORG
Tue, 15 Jan 2008 22:16:19 EST


Update of /cvs/openafs/src/WINNT/afsd
In directory GRAND.CENTRAL.ORG:/home/jaltman/openafs/cvs-1-3/src/WINNT/afsd

Modified Files:
	afsd_init.c cm_ioctl.c cm_ioctl.h fs.c smb_iocons.h 
	smb_ioctl.c 
Log Message:
DELTA windows-cm_ioctl_query_opts-20080115
AUTHOR jaltman@secure-endpoints.com
LICENSE MIT

The path ioctl operations have several issues:

(1) the specified path for "fs examine, whereis, whichcell, flush" and so
    always has the follow symlinks and mount points semantics.  This makes
    it impossible to determine what the FID of a symlink or mount point is.

(2) "fs examine" out is not the result of a single pioctl operation but is
    actually the combined output of half a dozen operations.  Path evaluation
    is an expensive operation.  It would be faster if the caller could 
    evaluate the FID first and then perform all of the rest of the operations
    by specifying the FID instead of the path.

(3) fs output reports all objects as files.  By adding a GetFileType 
    pioctl more informative output can be provided that indicates what 
    type of object the path evaluates to.

(4) the Windows fs command includes a number of commands that do nothing
    but exist only because the Unix cache manager supports them.  

This delta adds a new extendible data structure cm_ioctl_query_opts_t which
can be optionally specified with pioctls that do not already require 
input data.  The first two fields of this structure are 'literal' and
'fid'.  The literal field is used to indicate whether the last component
of the path should be evaluated following symlinks and mount points. 
The fid field permits a fid to be specified.  

A new GetFileType pioctl has been added. The type of objects are now 
output.

A new "-literal" option is available for "fs examine, flush, whereis, and
whichcell.

Unimplemented fs commands have been removed.  





--- DELTA config follows ---
windows-cm_ioctl_query_opts-20080115 openafs/src/WINNT/afsd/afsd_init.c 1.105 1.106
windows-cm_ioctl_query_opts-20080115 openafs/src/WINNT/afsd/cm_ioctl.c 1.106 1.107
windows-cm_ioctl_query_opts-20080115 openafs/src/WINNT/afsd/cm_ioctl.h 1.18 1.19
windows-cm_ioctl_query_opts-20080115 openafs/src/WINNT/afsd/fs.c 1.48 1.49
windows-cm_ioctl_query_opts-20080115 openafs/src/WINNT/afsd/smb_iocons.h 1.15 1.16
windows-cm_ioctl_query_opts-20080115 openafs/src/WINNT/afsd/smb_ioctl.c 1.33 1.34