Use inferno read/write instead of pread/pwrite
authorBarret Rhoden <brho@cs.berkeley.edu>
Sat, 18 Jan 2014 19:55:36 +0000 (11:55 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Sat, 18 Jan 2014 19:55:36 +0000 (11:55 -0800)
Passing in a -1 offset was just causing rread to abort.  For now, we'll
want the file offset tracked in the chan, like with normal FDs.

kern/src/syscall.c

index aa0f8e9..ea80bd3 100644 (file)
@@ -1166,7 +1166,7 @@ static intreg_t sys_read(struct proc *p, int fd, void *buf, int len)
                return ret;
        }
        /* plan9, should also handle errors (EBADF) */
-    ret = syspread(fd, buf, len, ~0LL);
+    ret = sysread(fd, buf, len);
        return ret;
 }
 
@@ -1187,7 +1187,7 @@ static intreg_t sys_write(struct proc *p, int fd, const void *buf, int len)
                return ret;
        }
        /* plan9, should also handle errors */
-       ret = syspwrite(fd, (void*)buf, len, (off_t) -1);
+       ret = syswrite(fd, (void*)buf, len);
        return ret;
 }