9ns: Clean up the dir->mode bits
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 15 Mar 2018 15:32:16 +0000 (11:32 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Mon, 30 Apr 2018 18:33:44 +0000 (14:33 -0400)
commit7765ec93663d78b42b8e99380f605f3168a5332d
treef7f9d4c072ff1f3710fff0aa0f76a7fe3c0987bd
parent182ecd5f305139a93ea65a7e3566355aacbc7837
9ns: Clean up the dir->mode bits

The lower 9 bits are the classic rwxrwxrwx bits.  The upper bits contain
things like "is a directory."

'mode' is a bit confusing, especially if you are familiar with the
POSIX/glibc world.  dir->mode is the permissions, which we get from the
'perm' argument to create (i.e. SYS_openat with O_CREATE).  That is
different from the 'mode' argument to open(), which is the e.g. O_RDWR
flags for the *chan* (file in Unix) - not the filesystem file (inode in
Unix).

Good times.

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