untangling do_lookup() - merge failure exits in !dentry case