* Assumes that pioctl path has been parsed or skipped.
*/
afs_int32
-cm_IoctlFlushAllVolumes(struct cm_ioctl *ioctlp, struct cm_user *userp)
+cm_IoctlFlushAllVolumes(struct cm_ioctl *ioctlp, struct cm_user *userp, cm_req_t *reqp)
{
afs_int32 code;
cm_scache_t *scp;
int i;
- cm_req_t req;
-
- cm_InitReq(&req);
lock_ObtainWrite(&cm_scacheLock);
for (i=0; i<cm_data.scacheHashTableSize; i++) {
lock_ReleaseWrite(&cm_scacheLock);
/* now flush the file */
- code = cm_FlushFile(scp, userp, &req);
+ code = cm_FlushFile(scp, userp, reqp);
lock_ObtainWrite(&cm_scacheLock);
cm_ReleaseSCacheNoLock(scp);
}
* Assumes that pioctl path has been parsed or skipped.
*/
afs_int32
-cm_IoctlVolStatTest(struct cm_ioctl *ioctlp, struct cm_user *userp)
+cm_IoctlVolStatTest(struct cm_ioctl *ioctlp, struct cm_user *userp, cm_req_t *reqp)
{
afs_int32 code;
cm_cell_t *cellp = NULL;
cm_vol_state_t *statep;
struct VolStatTest * testp;
afs_uint32 n;
- cm_req_t req;
-
- cm_InitReq(&req);
testp = (struct VolStatTest *)ioctlp->inDatap;
if (n)
testp->fid.volume = n;
else
- code = cm_FindVolumeByName(cellp, testp->volname, userp, &req, CM_GETVOL_FLAG_NO_LRU_UPDATE, &volp);
+ code = cm_FindVolumeByName(cellp, testp->volname, userp, reqp, CM_GETVOL_FLAG_NO_LRU_UPDATE, &volp);
}
if (testp->fid.volume > 0)
- code = cm_FindVolumeByID(cellp, testp->fid.volume, userp, &req, CM_GETVOL_FLAG_NO_LRU_UPDATE, &volp);
+ code = cm_FindVolumeByID(cellp, testp->fid.volume, userp, reqp, CM_GETVOL_FLAG_NO_LRU_UPDATE, &volp);
if (code)
return code;
extern afs_int32 cm_IoctlSetACL(cm_ioctl_t *ioctlp, cm_user_t *userp, cm_scache_t *scp, cm_req_t *reqp);
-extern afs_int32 cm_IoctlFlushAllVolumes(cm_ioctl_t *ioctlp, cm_user_t *userp);
+extern afs_int32 cm_IoctlFlushAllVolumes(cm_ioctl_t *ioctlp, cm_user_t *userp, cm_req_t *reqp);
extern afs_int32 cm_IoctlFlushVolume(cm_ioctl_t *ioctlp, cm_user_t *userp, cm_scache_t *scp, cm_req_t *reqp);
extern afs_int32 cm_IoctlGetFileType(cm_ioctl_t *ioctlp, cm_user_t *userp, struct cm_scache *scp, struct cm_req *reqp);
-extern afs_int32 cm_IoctlVolStatTest(struct cm_ioctl *ioctlp, struct cm_user *userp);
+extern afs_int32 cm_IoctlVolStatTest(struct cm_ioctl *ioctlp, struct cm_user *userp, cm_req_t *reqp);
extern afs_int32 cm_IoctlUnicodeControl(struct cm_ioctl *ioctlp, struct cm_user * userp);
afs_int32
smb_IoctlFlushAllVolumes(struct smb_ioctl *ioctlp, struct cm_user *userp)
{
+ cm_req_t req;
+
+ cm_InitReq(&req);
+
cm_SkipIoctlPath(&ioctlp->ioctl); /* we don't care about the path */
- return cm_IoctlFlushAllVolumes(&ioctlp->ioctl, userp);
+ return cm_IoctlFlushAllVolumes(&ioctlp->ioctl, userp, &req);
}
afs_int32
afs_int32
smb_IoctlVolStatTest(struct smb_ioctl *ioctlp, struct cm_user *userp)
{
+ cm_req_t req;
+
+ cm_InitReq(&req);
+
cm_SkipIoctlPath(&ioctlp->ioctl);
- return cm_IoctlVolStatTest(&ioctlp->ioctl, userp);
+ return cm_IoctlVolStatTest(&ioctlp->ioctl, userp, &req);
}