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

Tue, 15 Jan 2008 22:19:53 EST

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

Modified Files:
      Tag: openafs-devel-1_5_x
	afsd_init.c cm_ioctl.c cm_ioctl.h fs.c smb_iocons.h 
Log Message:
DELTA DEVEL15-windows-cm_ioctl_query_opts-20080115

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

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

Unimplemented fs commands have been removed.

--- DELTA config for openafs-devel-1_5_x follows ---
DEVEL15-windows-cm_ioctl_query_opts-20080115 openafs/src/WINNT/afsd/afsd_init.c
DEVEL15-windows-cm_ioctl_query_opts-20080115 openafs/src/WINNT/afsd/cm_ioctl.c
DEVEL15-windows-cm_ioctl_query_opts-20080115 openafs/src/WINNT/afsd/cm_ioctl.h
DEVEL15-windows-cm_ioctl_query_opts-20080115 openafs/src/WINNT/afsd/fs.c
DEVEL15-windows-cm_ioctl_query_opts-20080115 openafs/src/WINNT/afsd/smb_iocons.h
DEVEL15-windows-cm_ioctl_query_opts-20080115 openafs/src/WINNT/afsd/smb_ioctl.c