]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
DEVEL15-volser-dumpstuff-log-errors-20081010
authorJeffrey Hutzelman <jhutz@cmu.edu>
Fri, 10 Oct 2008 15:42:40 +0000 (15:42 +0000)
committerDerrick Brashear <shadow@dementia.org>
Fri, 10 Oct 2008 15:42:40 +0000 (15:42 +0000)
LICENSE IPL10
FIXES 121040

return sensible (ENOSPC) errors when out of tags or vnodes. don't perror. log
instead.

(cherry picked from commit 8b1b390713a79fadd300d17713350f5789879615)

src/vol/namei_ops.c
src/volser/dumpstuff.c

index b6e1c1c3a016c80bc3e900e685fdb600c5ba2784..4d37b78c34db7437085bbc7031ff5bf65aaa0c8c 100644 (file)
@@ -993,8 +993,10 @@ GetFreeTag(IHandle_t * ih, int vno)
        if ((row & coldata) == 0)
            break;
     }
-    if (col >= NAMEI_MAXVOLS)
+    if (col >= NAMEI_MAXVOLS) {
+       errno = ENOSPC;
        goto badGetFreeTag;
+    }
 
     coldata = 1 << (col * 3);
     row |= coldata;
index 04ebfbc6900fca1ef66eb91851c1b7848f137908..be4653a28c02d5a3bfc5061241a7862479761f01 100644 (file)
@@ -1226,8 +1226,8 @@ ReadVnodes(register struct iod *iodp, Volume * vp, int incremental,
                                  V_parentId(vp), vnodeNumber,
                                  vnode->uniquifier, vnode->dataVersion);
                    if (!VALID_INO(ino)) {
-                       perror("unable to allocate inode");
-                       Log("1 Volser: ReadVnodes: Restore aborted\n");
+                       Log("1 Volser: ReadVnodes: IH_CREATE: %s - restore aborted\n",
+                            afs_error_message(errno));
                        return VOLSERREAD_DUMPERROR;
                    }
                    nearInode = ino;
@@ -1235,6 +1235,8 @@ ReadVnodes(register struct iod *iodp, Volume * vp, int incremental,
                    IH_INIT(tmpH, vp->device, V_parentId(vp), ino);
                    fdP = IH_OPEN(tmpH);
                    if (fdP == NULL) {
+                       Log("1 Volser: ReadVnodes: IH_OPEN: %s - restore aborted\n",
+                            afs_error_message(errno));
                        IH_RELEASE(tmpH);
                        return VOLSERREAD_DUMPERROR;
                    }