Unset errno when VFS fails
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 5 Nov 2013 23:06:35 +0000 (15:06 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 16 Jan 2014 19:33:18 +0000 (11:33 -0800)
commit4c2c41a89293a89d39ab4ea566a49c659729fd00
treef1fd2813a2d9dca25979acfbc3dd8e2e10e07e64
parent40aaad99c4108bba349e13b66a3fbd8f7c6acc5d
Unset errno when VFS fails

When the VFS fails an open or similar call, it sets errno.  When 9ns
succeeds, errno is still set.

While this is acceptable use of errno (should only check it if you know
the call failed, in a call-specific manner), Go has trouble with this
(at least our Go).  I'm fine with dealing with this in-kernel, though I
don't promise to not touch errno in the case of success.

Note this commit is applied with no 9ns stuff in place (like in open and
stat).
kern/include/syscall.h
kern/src/syscall.c