Remove the special casing of #pipe in lseek
authorBarret Rhoden <brho@cs.berkeley.edu>
Fri, 1 Apr 2016 19:26:18 +0000 (15:26 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 5 Apr 2016 19:42:18 +0000 (15:42 -0400)
If we want to disallow seeks on a per-device basis, then we need a device
op (probably use chan_ctl).  None of this crappy special casing.
Incidentally, we'd probably want to do it for #ip too, and who knows what
is running on the other end of a server (or across a mount point!).

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/src/ns/sysfile.c

index 08dccca..1563006 100644 (file)
@@ -840,12 +840,6 @@ int64_t sysseek(int fd, int64_t off, int whence)
                cclose(c);
                nexterror();
        }
-
-       /* TODO: WTF is this?  Is pipe magically the only device that isn't
-        * seekable? */
-       if (!strcmp(devtab[c->type].name, "pipe"))
-               error(EINVAL, ERROR_FIXME);
-
        switch (whence) {
                case 0:
                        if (c->qid.type & QTDIR) {