link_path_walk: massage a bit more

Pull the block after the if-else in the end of what used to be do-while
body into all branches there.  We are almost done with the massage...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2015-04-18 20:09:08 -04:00
parent d40bcc09ab
commit 48c8b0c571
1 changed files with 13 additions and 6 deletions

View File

@ -1803,6 +1803,8 @@ loop: /* will be gone very soon */
if (unlikely(!s)) {
/* jumped */
put_link(nd, &link, cookie);
current->link_count--;
nd->depth--;
} else {
if (*s == '/') {
if (!nd->root.mnt)
@ -1816,18 +1818,23 @@ loop: /* will be gone very soon */
err = link_path_walk(s, nd);
if (unlikely(err)) {
put_link(nd, &link, cookie);
current->link_count--;
nd->depth--;
return err;
} else {
err = walk_component(nd, LOOKUP_FOLLOW);
put_link(nd, &link, cookie);
if (err > 0)
current->link_count--;
nd->depth--;
if (err < 0)
return err;
if (err > 0) {
current->link_count++;
nd->depth++;
goto loop;
}
}
}
current->link_count--;
nd->depth--;
if (err)
return err;
}
if (!d_can_lookup(nd->path.dentry)) {
err = -ENOTDIR;