void cwinit(Device *dev) { Cw *cw; Cache *h; Iobuf *cb, *p; long l, m; cwinit1(dev); cw = dev->private; l = devsize(cw->wdev); cb = getbuf(cw->cdev, CACHE_ADDR, Bread|Bmod|Bres); if(!cb || checktag(cb, Tcache, QPSUPER)) /* AFEB */ panic("cwinit: checktag c bucket"); /* AFEB */ h = (Cache*)cb->iobuf; h->toytime = toytime() + SECOND(30); h->time = time(); m = h->wsize; if(l != m) { print("wdev changed size %ld to %ld\n", m, l); h->wsize = l; cb->flags |= Bmod; } for(m=0; mmsize; m++) { print("cwinit reading/checking %ld of %ld msize); /* AFEB DEBUG*/ p = getbuf(cw->cdev, h->maddr + m/BKPERBLK, Bread); print(">maddr + m/BKPERBLK)) panic("cwinit: checktag c bucket"); print(">\n"); } putbuf(cb); }