9ns: Add error_jmp(): jump with an existing error
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 1 Mar 2018 16:43:04 +0000 (11:43 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Mon, 30 Apr 2018 18:31:44 +0000 (14:31 -0400)
commitf61ff9a4503a9b05f0922067803187eb826f7fe8
tree3310c0cf2545f071531f30616dd5bae7516a0298
parent9dff4793be1706cfdf6b67d2266c6b76aab628bc
9ns: Add error_jmp(): jump with an existing error

Some parts of the code set errno and errstr, but defer the jumping.

This is what that old dev.c code wanted to do: set the error, but not
actualy jump.  That is a common pattern in walk code: it's only an error()
for the first name in a walk.  There can be errors on later names that
don't result in a long jump, but we do want to record the errno/errstr.

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