Al Viro fe2d35ff0d switch non-create side of open() to use of do_last()
Instead of path_lookupat() doing trailing symlink resolution,
use the same scheme as on the O_CREAT side.  Walk with
LOOKUP_PARENT, then (in do_last()) look the final component
up, then either open it or return error or, if it's a symlink,
give the symlink back to path_openat() to be resolved there.

The really messy complication here is RCU.  We don't want to drop
out of RCU mode before the final lookup, since we don't want to
bounce parent directory ->d_count without a good reason.

Result is _not_ pretty; later in the series we'll clean it up.
For now we are roughly back where we'd been before the revert
done by Nick's series - top-level logics of path_openat() is
cleaned up, do_last() does actual opening, symlink resolution is
done uniformly.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2011-03-14 09:15:26 -04:00
..
2011-02-25 11:12:37 -08:00
2011-02-21 22:31:47 +00:00
2011-02-11 16:50:47 -06:00
2011-03-03 01:28:17 -05:00
2011-03-03 01:28:16 -05:00
2011-03-08 19:46:10 -05:00
2011-03-14 09:15:23 -04:00
2011-03-03 01:28:16 -05:00
2011-03-03 01:28:40 -05:00
2011-03-03 01:28:16 -05:00
2011-02-02 16:03:19 -08:00
2011-02-24 02:10:57 -05:00