diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2011-11-24 01:34:49 +0100 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-01-04 04:52:36 +0100 |
commit | afac7cba7ed31968a95e181dc25e204e45009ea8 (patch) | |
tree | 282cf7da6bc3915093df622ebfcd39f44f6fd1cd /fs/pnode.c | |
parent | vfs: new internal helper: mnt_has_parent(mnt) (diff) | |
download | linux-afac7cba7ed31968a95e181dc25e204e45009ea8.tar.xz linux-afac7cba7ed31968a95e181dc25e204e45009ea8.zip |
vfs: more mnt_parent cleanups
a) mount --move is checking that ->mnt_parent is non-NULL before
looking if that parent happens to be shared; ->mnt_parent is never
NULL and it's not even an misspelled !mnt_has_parent()
b) pivot_root open-codes is_path_reachable(), poorly.
c) so does path_is_under(), while we are at it.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/pnode.c')
-rw-r--r-- | fs/pnode.c | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/fs/pnode.c b/fs/pnode.c index f1cd958b92e5..4d5a06ea57a2 100644 --- a/fs/pnode.c +++ b/fs/pnode.c @@ -28,21 +28,6 @@ static inline struct vfsmount *next_slave(struct vfsmount *p) return list_entry(p->mnt_slave.next, struct vfsmount, mnt_slave); } -/* - * Return true if path is reachable from root - * - * namespace_sem is held, and mnt is attached - */ -static bool is_path_reachable(struct vfsmount *mnt, struct dentry *dentry, - const struct path *root) -{ - while (mnt != root->mnt && mnt_has_parent(mnt)) { - dentry = mnt->mnt_mountpoint; - mnt = mnt->mnt_parent; - } - return mnt == root->mnt && is_subdir(dentry, root->dentry); -} - static struct vfsmount *get_peer_under_root(struct vfsmount *mnt, struct mnt_namespace *ns, const struct path *root) |