9ns: treat opens of symlinks as EINVAL
authorBarret Rhoden <brho@cs.berkeley.edu>
Wed, 24 Apr 2019 01:58:26 +0000 (21:58 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Wed, 24 Apr 2019 02:04:18 +0000 (22:04 -0400)
ELOOP was a little confusing.  The errstr helped though.  =)9ns: treat
opens of symlinks as EINVAL

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

index 16e0b3a..370cd35 100644 (file)
@@ -743,7 +743,7 @@ struct chan *tree_chan_open(struct chan *c, int omode)
        if ((c->qid.type & QTDIR) && (omode & O_WRITE))
                error(EISDIR, "can't open a dir for writing");
        if (c->qid.type & QTSYMLINK)
-               error(ELOOP, "can't open a symlink");
+               error(EINVAL, "can't open a symlink");
        tree_file_perm_check(tf, omode);
        /* TODO: if we want to support DMEXCL on dir.mode, we'll need to
         * lock/sync on the fs_file (have a flag for FSF_IS_OPEN, handle in