Annotation of researchv10no/cmd/chuck/adderr.c, revision 1.1.1.1

1.1       root        1: #include "fs.h"
                      2: 
                      3: char xbuf[4096];       /* also used by prname */
                      4: char *
                      5: errnm(n)
                      6: {
                      7:        switch(n) {
                      8:        default:
                      9:                sprintf(xbuf, "?%d?", n);
                     10:                return(xbuf);
                     11:        case Elinksize: return("Elinksize");
                     12:        case Ebadaddr:  return("Ebadaddr");
                     13:        case Efirst:    return("Efirst");
                     14:        case Ebadread:  return("Ebadread");
                     15:        case Efirstio:  return("Efirstio");
                     16:        case Edirio:    return("Edirio");
                     17:        case Enotdot:   return("Enotdot");
                     18:        case Enotdotdot:        return("Enotdotdot");
                     19:        case Edotino:   return("Edotino");
                     20:        case Ebadino:   return("Ebadino");
                     21:        case Ebadname:  return("Ebadname");
                     22:        case Enullable: return("Enullable");
                     23:        case Elinkcnt:  return("Elinkcnt");
                     24:        case Emulti:    return("Emulti");
                     25:        case Ebadparent:        return("Ebadparent");
                     26:        case Esuperino: return("Esuperino");
                     27:        case Esuperfree:        return("Esuperfree");
                     28:        case Einvalid:  return("Einvalid");
                     29:        case Efreelist: return("Efreelist");
                     30:        case Edup:      return("Edup");
                     31:        case Eshort:    return("Eshort");
                     32:        case Ehole:     return("Ehole");
                     33:        case Etriple:   return("Etriple");
                     34:        case Eshortdir: return("Eshortdir");
                     35:        case Eattach:   return("Eattach");
                     36:        case Efakeroot: return("Efakeroot");
                     37:        }
                     38: }
                     39: 
                     40: adderr(n, a, b)
                     41: {
                     42:        if(!erlen) {
                     43:                erlen = 100;
                     44:                erlist = (er *) malloc(erlen * sizeof(er));
                     45:                if(!erlist)
                     46:                        fatal("can't alloc %d erlist\n", erlen);
                     47:        }
                     48:        if(erptr >= erlen) {
                     49:                erlen *= 3;
                     50:                erlist = (er *) realloc((char *)erlist, erlen * sizeof(er));
                     51:                if(!erlist)
                     52:                        fatal("can't realloc %d erlist\n");
                     53:        }
                     54:        errcnts[n]++;
                     55:        erlist[erptr].type = n;
                     56:        erlist[erptr].a = a;
                     57:        erlist[erptr].b = b;
                     58:        erlist[erptr].done = 0;
                     59:        erptr++;
                     60: }
                     61: 
                     62: supererr(n, a, b)
                     63: {
                     64:        adderr(n, a, b);
                     65: }
                     66: 
                     67: inoerr(n, ino, i)
                     68: {
                     69:        adderr(n, ino, i);
                     70: }
                     71: 
                     72: dupblock(bp, a, b)
                     73: bm *bp;
                     74: {      static cnt;
                     75:        if(++cnt <= 20)
                     76:                pmesg("dup block %d %s %s\n", bp-bmap, btype(a), btype(b));
                     77:        else if(cnt == 20)
                     78:                pmesg("more dups\n");
                     79:        adderr(Edup, bp-bmap, bp->ino);
                     80: }
                     81: 
                     82: direrror(n, ino, i)
                     83: {
                     84:        adderr(n, ino, i);
                     85: }
                     86: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.