/* Note: the >= test is very important since some old volumes may not have
a serverModifyTime. For an epoch dump, this results in 0>=0 test, which
does dump the file! */
- if (!code) code = DumpVnode(iodp, vnode, bitNumberToVnodeNumber(vnodeIndex, class), flag);
+ if (!code) code = DumpVnode(iodp, vnode, V_id(vp), bitNumberToVnodeNumber(vnodeIndex, class), flag);
if (!flag) IOMGR_Poll(); /* if we dont' xfr data, but scan instead, could lose conn */
}
STREAM_CLOSE(file);
}
static int DumpVnode(register struct iod *iodp, struct VnodeDiskObject *v,
- int vnodeNumber, int dumpEverything)
+ int volid, int vnodeNumber, int dumpEverything)
{
int code = 0;
IHandle_t *ihP;
IH_INIT(ihP, iodp->device, iodp->parentId, VNDISK_GET_INO(v));
fdP = IH_OPEN(ihP);
if (fdP == NULL) {
- Log("1 Volser: DumpVnode: dump: Unable to open inode %d for vnode %d; not dumped, error %d\n",
- VNDISK_GET_INO(v), vnodeNumber, errno);
+ Log("1 Volser: DumpVnode: dump: Unable to open inode %d for vnode %d (volume %d); not dumped, error %d\n",
+ VNDISK_GET_INO(v), vnodeNumber, volid, errno);
IH_RELEASE(ihP);
return VOLSERREAD_DUMPERROR;
}