lh 46 kernel/log.c struct logheader lh; lh 71 kernel/log.c for (tail = 0; tail < log.lh.n; tail++) { lh 73 kernel/log.c printf("recovering tail %d dst %d\n", tail, log.lh.block[tail]); lh 76 kernel/log.c struct buf *dbuf = bread(log.dev, log.lh.block[tail]); // read dst lh 91 kernel/log.c struct logheader *lh = (struct logheader *) (buf->data); lh 93 kernel/log.c log.lh.n = lh->n; lh 94 kernel/log.c for (i = 0; i < log.lh.n; i++) { lh 95 kernel/log.c log.lh.block[i] = lh->block[i]; lh 109 kernel/log.c hb->n = log.lh.n; lh 110 kernel/log.c for (i = 0; i < log.lh.n; i++) { lh 111 kernel/log.c hb->block[i] = log.lh.block[i]; lh 122 kernel/log.c log.lh.n = 0; lh 134 kernel/log.c } else if(log.lh.n + (log.outstanding+1)*MAXOPBLOCKS > LOGBLOCKS){ lh 184 kernel/log.c for (tail = 0; tail < log.lh.n; tail++) { lh 186 kernel/log.c struct buf *from = bread(log.dev, log.lh.block[tail]); // cache block lh 197 kernel/log.c if (log.lh.n > 0) { lh 201 kernel/log.c log.lh.n = 0; lh 221 kernel/log.c if (log.lh.n >= LOGBLOCKS) lh 226 kernel/log.c for (i = 0; i < log.lh.n; i++) { lh 227 kernel/log.c if (log.lh.block[i] == b->blockno) // log absorption lh 230 kernel/log.c log.lh.block[i] = b->blockno; lh 231 kernel/log.c if (i == log.lh.n) { // Add new block to log? lh 233 kernel/log.c log.lh.n++;