kernel/qio: implement concatblock() with pullupblock()

This commit is contained in:
cinap_lenrek 2016-11-09 19:44:38 +01:00
parent d97eb114d5
commit d2ad8df947

View file

@ -140,29 +140,19 @@ blockalloclen(Block *bp)
}
/*
* copy the string of blocks into
* copy the string of blocks into
* a single block and free the string
*/
Block*
concatblock(Block *bp)
{
Block *nb, *next;
int len;
if(bp->next == nil)
return bp;
nb = allocb(blocklen(bp));
for(; bp != nil; bp = next) {
next = bp->next;
len = BLEN(bp);
memmove(nb->wp, bp->rp, len);
nb->wp += len;
freeb(bp);
}
concatblockcnt += BLEN(nb);
QDEBUG checkb(nb, "concatblock 1");
return nb;
len = blocklen(bp);
concatblockcnt += len;
return pullupblock(bp, len);
}
/*