else if (fidp->volume == volp->bk.ID)
statep = &volp->bk;
- if (statep->state != vl_offline) {
+ if (statep->state != vl_offline && statep->state != vl_unknown) {
retry = 1;
} else {
if (cm_CheckOfflineVolume(volp, statep->ID))
else if (fidp->volume == volp->bk.ID)
statep = &volp->bk;
- if (statep->state != vl_offline && statep->state != vl_busy) {
+ if (statep->state != vl_offline &&
+ statep->state != vl_busy &&
+ statep->state != vl_unknown) {
retry = 1;
} else {
if (!serversp) {
long code;
cm_volume_t *volp = NULL;
cm_cell_t *cellp;
- int special; // yj: boolean variable to test if file is on root.afs
- int isRoot;
+ int special = 0; // yj: boolean variable to test if file is on root.afs
+ int isRoot = 0;
extern cm_fid_t cm_rootFid;
hash = CM_SCACHE_HASH(fidp);
lock_ObtainMutex(&volp->mx);
if (volp->rw.ID != 0 && (!volID || volID == volp->rw.ID) &&
- (volp->rw.state == vl_busy || volp->rw.state == vl_offline)) {
+ (volp->rw.state == vl_busy || volp->rw.state == vl_offline || volp->rw.state == vl_unknown)) {
cm_InitReq(&req);
for (serversp = volp->rw.serversp; serversp; serversp = serversp->next) {
}
if (volp->ro.ID != 0 && (!volID || volID == volp->ro.ID) &&
- (volp->ro.state == vl_busy || volp->ro.state == vl_offline)) {
+ (volp->ro.state == vl_busy || volp->ro.state == vl_offline || volp->ro.state == vl_unknown)) {
cm_InitReq(&req);
for (serversp = volp->ro.serversp; serversp; serversp = serversp->next) {
}
if (volp->bk.ID != 0 && (!volID || volID == volp->bk.ID) &&
- (volp->bk.state == vl_busy || volp->bk.state == vl_offline)) {
+ (volp->bk.state == vl_busy || volp->bk.state == vl_offline || volp->bk.state == vl_unknown)) {
cm_InitReq(&req);
for (serversp = volp->bk.serversp; serversp; serversp = serversp->next) {