Fixes path_lookup() for "/" and LOOKUP_PARENT
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 24 Aug 2010 06:24:33 +0000 (23:24 -0700)
committerKevin Klues <klueska@cs.berkeley.edu>
Thu, 3 Nov 2011 00:35:53 +0000 (17:35 -0700)
commit2a6b2141ee383f95f4188d23f5c5cf511342211c
treeabaf07503246c5743eb62d5a3a81c26afc7767e9
parent60ecd255e3d09b546dcd7fac761a9848298479a1
Fixes path_lookup() for "/" and LOOKUP_PARENT

You can't do that lookup.  It was returning "/", as if it was the
parent.  Now, if you try that lookup, you'll get an error.  There might
be ways to trigger it that we aren't covering yet - the nd->last.name is
getting set by whoever was in a parental role, but link_path_walk() is
tricky.

This patch also fixes up do_file_open() a bit - overall it's a bit
clearer and can handle a lookup for "/" (no need to get the parent if
you can open it directly).
kern/src/vfs.c