]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
STABLE14-volser-dumpstuff-log-errors-20081010
authorJeffrey Hutzelman <jhutz@cmu.edu>
Fri, 10 Oct 2008 15:43:02 +0000 (15:43 +0000)
committerDerrick Brashear <shadow@dementia.org>
Fri, 10 Oct 2008 15:43:02 +0000 (15:43 +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 272cc489ad998e265aeac9f4c267dcf9284b8e09..7d53751ecf59ed7f9aa66454c86de1c4f8978474 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 3030216419ce718bb16775aaf8f3bdfefe1d4705..db4f2b05053a7f6212102768791ecd9604752fdf 100644 (file)
@@ -1207,8 +1207,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;
@@ -1216,6 +1216,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;
                    }