/* Record the read error */
if (n < 0) {
n = 0;
- Log("1 Volser: DumpFile: Error %d reading inode %s for vnode %d\n", errno, PrintInode(NULL, handleP->fd_ih->ih_ino), vnode);
+ Log("1 Volser: DumpFile: Error reading inode %s for vnode %d: %s\n", PrintInode(NULL, handleP->fd_ih->ih_ino), vnode, afs_error_message(errno));
} else if (!pad) {
Log("1 Volser: DumpFile: Error reading inode %s for vnode %d\n", PrintInode(NULL, handleP->fd_ih->ih_ino), vnode);
}
lcode = FDH_SEEK(handleP, (size_t)((size - nbytes) + howMany), SEEK_SET);
if (lcode != ((size - nbytes) + howMany)) {
if (lcode < 0) {
- Log("1 Volser: DumpFile: Error %d seeking in inode %s for vnode %d\n", errno, PrintInode(NULL, handleP->fd_ih->ih_ino), vnode);
+ Log("1 Volser: DumpFile: Error seeking in inode %s for vnode %d: %s\n", PrintInode(NULL, handleP->fd_ih->ih_ino), vnode, afs_error_message(errno));
} else {
Log("1 Volser: DumpFile: Error seeking in inode %s for vnode %d\n", PrintInode(NULL, handleP->fd_ih->ih_ino), vnode);
lcode = -1;
if (haveStuff) {
FdHandle_t *fdP = IH_OPEN(vp->vnodeIndex[class].handle);
if (fdP == NULL) {
- Log("1 Volser: ReadVnodes: Error opening vnode index; restore aborted\n");
+ Log("1 Volser: ReadVnodes: Error opening vnode index: %s; restore aborted\n",
+ afs_error_message(errno));
return VOLSERREAD_DUMPERROR;
}
if (FDH_SEEK(fdP, vnodeIndexOffset(vcp, vnodeNumber), SEEK_SET) <
0) {
- Log("1 Volser: ReadVnodes: Error seeking into vnode index; restore aborted\n");
+ Log("1 Volser: ReadVnodes: Error seeking into vnode index: %s; restore aborted\n",
+ afs_error_message(errno));
FDH_REALLYCLOSE(fdP);
return VOLSERREAD_DUMPERROR;
}
vnode->vnodeMagic = vcp->magic;
if (FDH_SEEK(fdP, vnodeIndexOffset(vcp, vnodeNumber), SEEK_SET) <
0) {
- Log("1 Volser: ReadVnodes: Error seeking into vnode index; restore aborted\n");
+ Log("1 Volser: ReadVnodes: Error seeking into vnode index: %s; restore aborted\n",
+ afs_error_message(errno));
FDH_REALLYCLOSE(fdP);
return VOLSERREAD_DUMPERROR;
}
if (FDH_WRITE(fdP, vnode, vcp->diskSize) != vcp->diskSize) {
- Log("1 Volser: ReadVnodes: Error writing vnode index; restore aborted\n");
+ Log("1 Volser: ReadVnodes: Error writing vnode index: %s; restore aborted\n",
+ afs_error_message(errno));
FDH_REALLYCLOSE(fdP);
return VOLSERREAD_DUMPERROR;
}
size = nbytes;
if ((code = iod_Read(iodp, (char *) p, size)) != size) {
- Log("1 Volser: WriteFile: Error reading dump file %d size=%llu nbytes=%u (%d of %u); restore aborted\n", vn, (afs_uintmax_t) filesize, nbytes, code, size);
+ Log("1 Volser: WriteFile: Error reading dump file %d size=%llu nbytes=%u (%d of %u): %s; restore aborted\n", vn, (afs_uintmax_t) filesize, nbytes, code, size, afs_error_message(errno));
*status = 3;
break;
}
if (lcode > 0)
written += lcode;
if (lcode != size) {
- Log("1 Volser: WriteFile: Error writing (%d,%u) bytes to vnode %d; restore aborted\n", (int)(lcode>>32), (int)(lcode & 0xffffffff), vn);
+ Log("1 Volser: WriteFile: Error writing (%d,%u) bytes to vnode %d: %s; restore aborted\n", (int)(lcode>>32), (int)(lcode & 0xffffffff), vn, afs_error_message(errno));
*status = 4;
break;
}
#include <afs/ihandle.h>
#include <afs/vnode.h>
#include <afs/volume.h>
+#include <afs/com_err.h>
#include "dump.h"
#include "lockdata.h"
#endif
error = USD_READ(ufd, buffer, blksize, &nbytes);
if (error) {
- fprintf(STDERR, "File system read failed\n");
+ fprintf(STDERR, "File system read failed: %s\n",
+ afs_error_message(error));
break;
}
if (nbytes == 0) {
code = USD_IOCTL(ufd, USD_IOCTL_GETBLKSIZE, &blksize);
}
if (code) {
- fprintf(STDERR, "Could not access file '%s'\n", filename);
+ fprintf(STDERR, "Could not access file '%s': %s\n", filename,
+ afs_error_message(code));
error = VOLSERBADOP;
goto wfail;
}
error =
USD_WRITE(ufd, &buffer[bytesread - bytesleft], bytesleft, &w);
if (error) {
- fprintf(STDERR, "File system write failed\n");
+ fprintf(STDERR, "File system write failed: %s\n",
+ afs_error_message(error));
ERROR_EXIT(-1);
}
}
code = USD_IOCTL(ufd, USD_IOCTL_GETBLKSIZE, &blksize);
}
if (code) {
- fprintf(STDERR, "Could not create file '%s'\n", filename);
+ fprintf(STDERR, "Could not create file '%s': %s\n", filename,
+ afs_error_message(code));
ERROR_EXIT(VOLSERBADOP);
}
}