Commit 48c8b0c5 authored by Al Viro's avatar Al Viro
Browse files

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: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent d40bcc09
Loading
Loading
Loading
Loading
+13 −6
Original line number Diff line number Diff line
@@ -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)
						goto loop;
				}
			}

					current->link_count--;
					nd->depth--;
			if (err)
					if (err < 0)
						return err;
					if (err > 0) {
						current->link_count++;
						nd->depth++;
						goto loop;
					}
				}
			}
		}
		if (!d_can_lookup(nd->path.dentry)) {
			err = -ENOTDIR;