lh 45 log.c struct logheader lh;
lh 73 log.c for (tail = 0; tail < log.lh.n; tail++) {
lh 75 log.c struct buf *dbuf = bread(log.dev, log.lh.block[tail]); // read dst
lh 88 log.c struct logheader *lh = (struct logheader *) (buf->data);
lh 90 log.c log.lh.n = lh->n;
lh 91 log.c for (i = 0; i < log.lh.n; i++) {
lh 92 log.c log.lh.block[i] = lh->block[i];
lh 106 log.c hb->n = log.lh.n;
lh 107 log.c for (i = 0; i < log.lh.n; i++) {
lh 108 log.c hb->block[i] = log.lh.block[i];
lh 119 log.c log.lh.n = 0;
lh 131 log.c } else if(log.lh.n + (log.outstanding+1)*MAXOPBLOCKS > LOGSIZE){
lh 179 log.c for (tail = 0; tail < log.lh.n; tail++) {
lh 181 log.c struct buf *from = bread(log.dev, log.lh.block[tail]); // cache block
lh 192 log.c if (log.lh.n > 0) {
lh 196 log.c log.lh.n = 0;
lh 215 log.c if (log.lh.n >= LOGSIZE || log.lh.n >= log.size - 1)
lh 221 log.c for (i = 0; i < log.lh.n; i++) {
lh 222 log.c if (log.lh.block[i] == b->blockno) // log absorbtion
lh 225 log.c log.lh.block[i] = b->blockno;
lh 226 log.c if (i == log.lh.n)
lh 227 log.c log.lh.n++;