aboutsummaryrefslogtreecommitdiffstats
path: root/fs/pnode.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2011-11-24 22:19:58 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2012-01-03 22:57:05 -0500
commit0714a533805a0f8ebfc6fdb6bda9f129b8c7c6d7 (patch)
tree7f34ceedc12c4a680ca3509562b09ec441a0954f /fs/pnode.c
parent3376f34fff5be9954fd9a9c4fd68f4a0a36d480e (diff)
vfs: now it can be done - make mnt_parent point to struct mount
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/pnode.c')
-rw-r--r--fs/pnode.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/fs/pnode.c b/fs/pnode.c
index 2ff4dfa018e1..7fddc671f729 100644
--- a/fs/pnode.c
+++ b/fs/pnode.c
@@ -292,10 +292,10 @@ int propagate_mount_busy(struct mount *mnt, int refcnt)
292{ 292{
293 struct vfsmount *m; 293 struct vfsmount *m;
294 struct mount *child; 294 struct mount *child;
295 struct vfsmount *parent = mnt->mnt_parent; 295 struct mount *parent = mnt->mnt_parent;
296 int ret = 0; 296 int ret = 0;
297 297
298 if (&mnt->mnt == parent) 298 if (mnt == parent)
299 return do_refcount_check(mnt, refcnt); 299 return do_refcount_check(mnt, refcnt);
300 300
301 /* 301 /*
@@ -306,8 +306,8 @@ int propagate_mount_busy(struct mount *mnt, int refcnt)
306 if (!list_empty(&mnt->mnt.mnt_mounts) || do_refcount_check(mnt, refcnt)) 306 if (!list_empty(&mnt->mnt.mnt_mounts) || do_refcount_check(mnt, refcnt))
307 return 1; 307 return 1;
308 308
309 for (m = propagation_next(parent, parent); m; 309 for (m = propagation_next(&parent->mnt, &parent->mnt); m;
310 m = propagation_next(m, parent)) { 310 m = propagation_next(m, &parent->mnt)) {
311 child = __lookup_mnt(m, mnt->mnt.mnt_mountpoint, 0); 311 child = __lookup_mnt(m, mnt->mnt.mnt_mountpoint, 0);
312 if (child && list_empty(&child->mnt.mnt_mounts) && 312 if (child && list_empty(&child->mnt.mnt_mounts) &&
313 (ret = do_refcount_check(child, 1))) 313 (ret = do_refcount_check(child, 1)))
@@ -322,13 +322,13 @@ int propagate_mount_busy(struct mount *mnt, int refcnt)
322 */ 322 */
323static void __propagate_umount(struct mount *mnt) 323static void __propagate_umount(struct mount *mnt)
324{ 324{
325 struct vfsmount *parent = mnt->mnt_parent; 325 struct mount *parent = mnt->mnt_parent;
326 struct vfsmount *m; 326 struct vfsmount *m;
327 327
328 BUG_ON(parent == &mnt->mnt); 328 BUG_ON(parent == mnt);
329 329
330 for (m = propagation_next(parent, parent); m; 330 for (m = propagation_next(&parent->mnt, &parent->mnt); m;
331 m = propagation_next(m, parent)) { 331 m = propagation_next(m, &parent->mnt)) {
332 332
333 struct mount *child = __lookup_mnt(m, 333 struct mount *child = __lookup_mnt(m,
334 mnt->mnt.mnt_mountpoint, 0); 334 mnt->mnt.mnt_mountpoint, 0);