Index: /trunk/Ohana/src/libohana/src/IOBufferOps.c
===================================================================
--- /trunk/Ohana/src/libohana/src/IOBufferOps.c	(revision 10623)
+++ /trunk/Ohana/src/libohana/src/IOBufferOps.c	(revision 10624)
@@ -43,6 +43,10 @@
   Nread = read (fd, &buffer[0].buffer[buffer[0].Nbuffer], buffer[0].Nblock);
 
+  /* on success, increase the block size for the next read */
+  
   if (Nread >= 0) {
     buffer[0].Nbuffer += Nread;
+    buffer[0].Nblock *= 2;
+    buffer[0].Nblock = MAX (buffer[0].Nblock, 0x10000);
     return (Nread);
   }
