summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2019-03-03 05:26:09 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2019-03-03 05:26:09 +0100
commita2c0e55e6885fde0d135831a77d227bc933d89e7 (patch)
tree6fa25e1a63c4704ea32350d00868f990529de1c0 /sys
parent5b972a9aea9383fbb66142a6a9958e01f7028a89 (diff)
qio: handle common case in trimblock()
Diffstat (limited to 'sys')
-rw-r--r--sys/src/9/port/qio.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/src/9/port/qio.c b/sys/src/9/port/qio.c
index 710d6582e..08b489b67 100644
--- a/sys/src/9/port/qio.c
+++ b/sys/src/9/port/qio.c
@@ -243,7 +243,10 @@ trimblock(Block *bp, int offset, int len)
Block *nb, *startb;
QDEBUG checkb(bp, "trimblock 1");
- if(blocklen(bp) < offset+len) {
+ l = blocklen(bp);
+ if(offset == 0 && len == l)
+ return bp;
+ if(l < offset+len) {
freeblist(bp);
return nil;
}