inode: Note bug in pipe handling
authorAlan Cox <alan@linux.intel.com>
Mon, 29 Dec 2014 16:41:59 +0000 (16:41 +0000)
committerAlan Cox <alan@linux.intel.com>
Mon, 29 Dec 2014 16:41:59 +0000 (16:41 +0000)
Kernel/inode.c

index aaf1e96..15f19c0 100644 (file)
@@ -110,6 +110,8 @@ void writei(inoptr ino, uint8_t flag)
 
        case F_PIPE:
                ispipe = true;
+               /* FIXME: this will hang if you ever write > 16 * BLKSIZE
+                  in one go - needs merging into the loop */
                while ((towrite = udata.u_count) > (16 * BLKSIZE) - 
                                        ino->c_node.i_size) {
                        if (ino->c_refs == 1) { /* No readers */