|
|
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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.