AFSFetchStatus fileStatus;
AFSVolSync volSync;
long code;
- AFSFid fid;
+ AFSFid afid;
int tlen;
cm_req_t req;
struct rx_connection * callp;
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);
}
} 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;
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));
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
sp->ExactFound = 1;
if (!sp->caseFold || matchName == shortName) {
- sp->fid.vnode = ntohl(dep->fid.vnode);
- sp->fid.unique = ntohl(dep->fid.unique);
+ cm_SetFid(&sp->fid, sp->fid.cell, sp->fid.volume, ntohl(dep->fid.vnode), ntohl(dep->fid.unique));
return CM_ERROR_STOPNOW;
}
match = strcmp(matchName, sp->searchNamep);
if (match == 0) {
sp->ExactFound = 1;
- sp->fid.vnode = ntohl(dep->fid.vnode);
- sp->fid.unique = ntohl(dep->fid.unique);
+ cm_SetFid(&sp->fid, sp->fid.cell, sp->fid.volume, ntohl(dep->fid.vnode), ntohl(dep->fid.unique));
return CM_ERROR_STOPNOW;
}
sp->NCfound = 1;
inexact:
- sp->fid.vnode = ntohl(dep->fid.vnode);
- sp->fid.unique = ntohl(dep->fid.unique);
+ cm_SetFid(&sp->fid, sp->fid.cell, sp->fid.volume, ntohl(dep->fid.vnode), ntohl(dep->fid.unique));
return 0;
}
}
else if (!strchr(namep, '#') && !strchr(namep, '%') &&
strcmp(namep, "srvsvc") && strcmp(namep, "wkssvc") &&
- strcmp(namep, "ipc$")) {
+ strcmp(namep, "ipc$"))
+ {
/* nonexistent dir on freelance root, so add it */
char fullname[200] = ".";
int found = 0;
return CM_ERROR_NOSUCHFILE;
}
tscp = NULL; /* to force call of cm_GetSCache */
+ } else {
+ if (flags & CM_FLAG_CHECKPATH)
+ return CM_ERROR_NOSUCHPATH;
+ else
+ return CM_ERROR_NOSUCHFILE;
}
}
haveFid:
if ( !tscp ) /* we did not find it in the dnlc */
{
- dnlcHit = 0;
+ dnlcHit = 0;
code = cm_GetSCache(&rock.fid, &tscp, userp, reqp);
if (code)
return code;