lh 46 log.c struct logheader lh; lh 74 log.c for (tail = 0; tail < log.lh.n; tail++) { lh 76 log.c struct buf *dbuf = bread(log.dev, log.lh.block[tail]); // read dst lh 89 log.c struct logheader *lh = (struct logheader *) (buf->data); lh 91 log.c log.lh.n = lh->n; lh 92 log.c for (i = 0; i < log.lh.n; i++) { lh 93 log.c log.lh.block[i] = lh->block[i]; lh 107 log.c hb->n = log.lh.n; lh 108 log.c for (i = 0; i < log.lh.n; i++) { lh 109 log.c hb->block[i] = log.lh.block[i]; lh 120 log.c log.lh.n = 0; lh 132 log.c } else if(log.lh.n + (log.outstanding+1)*MAXOPBLOCKS > LOGSIZE){ lh 182 log.c for (tail = 0; tail < log.lh.n; tail++) { lh 184 log.c struct buf *from = bread(log.dev, log.lh.block[tail]); // cache block lh 195 log.c if (log.lh.n > 0) { lh 199 log.c log.lh.n = 0; lh 218 log.c if (log.lh.n >= LOGSIZE || log.lh.n >= log.size - 1) lh 224 log.c for (i = 0; i < log.lh.n; i++) { lh 225 log.c if (log.lh.block[i] == b->blockno) // log absorbtion lh 228 log.c log.lh.block[i] = b->blockno; lh 229 log.c if (i == log.lh.n) lh 230 log.c log.lh.n++;