windows-fid-hash-20080406
[openafs.git] / src / WINNT / afsd / cm_ioctl.c
index 6ada61b..25c88dd 100644 (file)
@@ -569,7 +569,7 @@ long cm_IoctlGetACL(smb_ioctl_t *ioctlp, cm_user_t *userp)
     AFSFetchStatus fileStatus;
     AFSVolSync volSync;
     long code;
-    AFSFid fid;
+    AFSFid afid;
     int tlen;
     cm_req_t req;
     struct rx_connection * callp;
@@ -583,9 +583,11 @@ long cm_IoctlGetACL(smb_ioctl_t *ioctlp, cm_user_t *userp)
         flags |= (optionsp->literal ? CM_PARSE_FLAG_LITERAL : 0);
 
     if (optionsp && CM_IOCTL_QOPTS_HAVE_FID(optionsp)) {
+        cm_fid_t fid;
         cm_SkipIoctlPath(ioctlp);
-
-        code = cm_GetSCache(&optionsp->fid, &scp, userp, &req);
+        cm_SetFid(&fid, optionsp->fid.cell, optionsp->fid.volume, 
+                  optionsp->fid.vnode, optionsp->fid.unique);
+        code = cm_GetSCache(&fid, &scp, userp, &req);
     } else {
         code = cm_ParseIoctlPath(ioctlp, userp, &req, &scp, flags);
     }
@@ -600,9 +602,9 @@ long cm_IoctlGetACL(smb_ioctl_t *ioctlp, cm_user_t *userp)
     } else
 #endif
     {
-        fid.Volume = scp->fid.volume;
-        fid.Vnode = scp->fid.vnode;
-        fid.Unique = scp->fid.unique;
+        afid.Volume = scp->fid.volume;
+        afid.Vnode = scp->fid.vnode;
+        afid.Unique = scp->fid.unique;
         do {
             acl.AFSOpaque_val = ioctlp->outDatap;
             acl.AFSOpaque_len = 0;
@@ -610,7 +612,7 @@ long cm_IoctlGetACL(smb_ioctl_t *ioctlp, cm_user_t *userp)
             if (code) continue;
 
             callp = cm_GetRxConn(connp);
-            code = RXAFS_FetchACL(callp, &fid, &acl, &fileStatus, &volSync);
+            code = RXAFS_FetchACL(callp, &afid, &acl, &fileStatus, &volSync);
             rx_PutConnection(callp);
 
         } while (cm_Analyze(connp, userp, &req, &scp->fid, &volSync, NULL, NULL, code));
@@ -643,8 +645,11 @@ long cm_IoctlGetFileCellName(struct smb_ioctl *ioctlp, struct cm_user *userp)
         flags |= (optionsp->literal ? CM_PARSE_FLAG_LITERAL : 0);
 
     if (optionsp && CM_IOCTL_QOPTS_HAVE_FID(optionsp)) {
+        cm_fid_t fid;
         cm_SkipIoctlPath(ioctlp);
-        code = cm_GetSCache(&optionsp->fid, &scp, userp, &req);
+        cm_SetFid(&fid, optionsp->fid.cell, optionsp->fid.volume, 
+                  optionsp->fid.vnode, optionsp->fid.unique);
+        code = cm_GetSCache(&fid, &scp, userp, &req);
     } else {
         code = cm_ParseIoctlPath(ioctlp, userp, &req, &scp, flags);
     }
@@ -773,8 +778,11 @@ long cm_IoctlFlushVolume(struct smb_ioctl *ioctlp, struct cm_user *userp)
         flags |= (optionsp->literal ? CM_PARSE_FLAG_LITERAL : 0);
 
     if (optionsp && CM_IOCTL_QOPTS_HAVE_FID(optionsp)) {
+        cm_fid_t fid;
         cm_SkipIoctlPath(ioctlp);
-        code = cm_GetSCache(&optionsp->fid, &scp, userp, &req);
+        cm_SetFid(&fid, optionsp->fid.cell, optionsp->fid.volume, 
+                  optionsp->fid.vnode, optionsp->fid.unique);
+        code = cm_GetSCache(&fid, &scp, userp, &req);
     } else {
         code = cm_ParseIoctlPath(ioctlp, userp, &req, &scp, flags);
     }
@@ -811,8 +819,11 @@ long cm_IoctlFlushFile(struct smb_ioctl *ioctlp, struct cm_user *userp)
         flags |= (optionsp->literal ? CM_PARSE_FLAG_LITERAL : 0);
 
     if (optionsp && CM_IOCTL_QOPTS_HAVE_FID(optionsp)) {
+        cm_fid_t fid;
         cm_SkipIoctlPath(ioctlp);
-        code = cm_GetSCache(&optionsp->fid, &scp, userp, &req);
+        cm_SetFid(&fid, optionsp->fid.cell, optionsp->fid.volume, 
+                  optionsp->fid.vnode, optionsp->fid.unique);
+        code = cm_GetSCache(&fid, &scp, userp, &req);
     } else {
         code = cm_ParseIoctlPath(ioctlp, userp, &req, &scp, flags);
     }
@@ -958,8 +969,11 @@ long cm_IoctlGetVolumeStatus(struct smb_ioctl *ioctlp, struct cm_user *userp)
         flags |= (optionsp->literal ? CM_PARSE_FLAG_LITERAL : 0);
 
     if (optionsp && CM_IOCTL_QOPTS_HAVE_FID(optionsp)) {
+        cm_fid_t fid;
         cm_SkipIoctlPath(ioctlp);
-        code = cm_GetSCache(&optionsp->fid, &scp, userp, &req);
+        cm_SetFid(&fid, optionsp->fid.cell, optionsp->fid.volume, 
+                  optionsp->fid.vnode, optionsp->fid.unique);
+        code = cm_GetSCache(&fid, &scp, userp, &req);
     } else {
         code = cm_ParseIoctlPath(ioctlp, userp, &req, &scp, flags);
     }
@@ -1071,8 +1085,11 @@ long cm_IoctlGetFileType(struct smb_ioctl *ioctlp, struct cm_user *userp)
         flags |= (optionsp->literal ? CM_PARSE_FLAG_LITERAL : 0);
 
     if (optionsp && CM_IOCTL_QOPTS_HAVE_FID(optionsp)) {
+        cm_fid_t fid;
         cm_SkipIoctlPath(ioctlp);
-        code = cm_GetSCache(&optionsp->fid, &scp, userp, &req);
+        cm_SetFid(&fid, optionsp->fid.cell, optionsp->fid.volume, 
+                  optionsp->fid.vnode, optionsp->fid.unique);
+        code = cm_GetSCache(&fid, &scp, userp, &req);
     } else {
         code = cm_ParseIoctlPath(ioctlp, userp, &req, &scp, flags);
     }
@@ -1109,8 +1126,11 @@ long cm_IoctlGetOwner(struct smb_ioctl *ioctlp, struct cm_user *userp)
         flags |= (optionsp->literal ? CM_PARSE_FLAG_LITERAL : 0);
 
     if (optionsp && CM_IOCTL_QOPTS_HAVE_FID(optionsp)) {
+        cm_fid_t fid;
         cm_SkipIoctlPath(ioctlp);
-        code = cm_GetSCache(&optionsp->fid, &scp, userp, &req);
+        cm_SetFid(&fid, optionsp->fid.cell, optionsp->fid.volume, 
+                  optionsp->fid.vnode, optionsp->fid.unique);
+        code = cm_GetSCache(&fid, &scp, userp, &req);
     } else {
         code = cm_ParseIoctlPath(ioctlp, userp, &req, &scp, flags);
     }
@@ -1153,8 +1173,11 @@ long cm_IoctlWhereIs(struct smb_ioctl *ioctlp, struct cm_user *userp)
         flags |= (optionsp->literal ? CM_PARSE_FLAG_LITERAL : 0);
 
     if (optionsp && CM_IOCTL_QOPTS_HAVE_FID(optionsp)) {
+        cm_fid_t fid;
         cm_SkipIoctlPath(ioctlp);
-        code = cm_GetSCache(&optionsp->fid, &scp, userp, &req);
+        cm_SetFid(&fid, optionsp->fid.cell, optionsp->fid.volume, 
+                  optionsp->fid.vnode, optionsp->fid.unique);
+        code = cm_GetSCache(&fid, &scp, userp, &req);
     } else {
         code = cm_ParseIoctlPath(ioctlp, userp, &req, &scp, flags);
     }
@@ -3062,8 +3085,11 @@ long cm_IoctlPathAvailability(struct smb_ioctl *ioctlp, struct cm_user *userp)
         flags |= (optionsp->literal ? CM_PARSE_FLAG_LITERAL : 0);
 
     if (optionsp && CM_IOCTL_QOPTS_HAVE_FID(optionsp)) {
+        cm_fid_t fid;
         cm_SkipIoctlPath(ioctlp);
-        code = cm_GetSCache(&optionsp->fid, &scp, userp, &req);
+        cm_SetFid(&fid, optionsp->fid.cell, optionsp->fid.volume, 
+                  optionsp->fid.vnode, optionsp->fid.unique);
+        code = cm_GetSCache(&fid, &scp, userp, &req);
     } else {
         code = cm_ParseIoctlPath(ioctlp, userp, &req, &scp, flags);
     }