TM_GetTimeOfDay(&StartTime, 0);
ihP = targetptr->handle;
fdP = IH_OPEN(ihP);
- if (fdP == NULL)
+ if (fdP == NULL) {
+ VTakeOffline(volptr);
return EIO;
+ }
optSize = sendBufSize;
tlen = FDH_SIZE(fdP);
ViceLog(25,
("FetchData_RXStyle: file size %llu\n", (afs_uintmax_t) tlen));
if (tlen < 0) {
FDH_CLOSE(fdP);
+ VTakeOffline(volptr);
return EIO;
}
if (Pos > tlen) {
if (errorCode != wlen) {
FDH_CLOSE(fdP);
FreeSendBuffer((struct afs_buffer *)tbuffer);
+ VTakeOffline(volptr);
return EIO;
}
errorCode = rx_Write(Call, tbuffer, wlen);
errorCode = rx_WritevAlloc(Call, tiov, &tnio, RX_MAXIOVECS, wlen);
if (errorCode <= 0) {
FDH_CLOSE(fdP);
+ VTakeOffline(volptr);
return EIO;
}
wlen = errorCode;
errorCode = FDH_READV(fdP, tiov, tnio);
if (errorCode != wlen) {
FDH_CLOSE(fdP);
+ VTakeOffline(volptr);
return EIO;
}
errorCode = rx_Writev(Call, tiov, tnio, wlen);
return ENOENT;
if (GetLinkCountAndSize(volptr, fdP, &linkCount, &DataLength) < 0) {
FDH_CLOSE(fdP);
+ VTakeOffline(volptr);
return EIO;
}