+ if (size % TP_BSIZE != 0)
+ msg("bad size to dmpblk: %d\n", size);
+ avail = ntrec - trecno;
+ dblkno = fsbtodb(sblock, blkno);
+ for (tpblks = size / TP_BSIZE; tpblks > avail; ) {
+ bread(dblkno, tblock[trecno], TP_BSIZE * avail);
+ trecno += avail;
+ spcl.c_tapea += avail;
+ flusht();
+ dblkno += avail * (TP_BSIZE / DEV_BSIZE);
+ tpblks -= avail;
+ avail = ntrec - trecno;
+ }
+ bread(dblkno, tblock[trecno], TP_BSIZE * tpblks);
+ trecno += tpblks;
+ spcl.c_tapea += tpblks;
+ if(trecno >= ntrec)