author: Al Viro <viro@zeniv.linux.org.uk> 2011-11-24 18:22:03 -0500
committer: Al Viro <viro@zeniv.linux.org.uk> 2012-01-03 22:56:58 -0500
commit: c71053659e3bb27d44b79da0bb4abf5838c2060a
parent: 7d6fec45a5131918b51dcd76da52f2ec86a85be6
Commit Summary:
Diffstat:
1 file changed, 7 insertions, 6 deletions
diff --git a/fs/pnode.c b/fs/pnode.c
index 4d5a06ea57a2..e996d039c0f2 100644
--- a/fs/pnode.c
+++ b/fs/pnode.c
@@ -289,7 +289,8 @@ static inline int do_refcount_check(struct vfsmount *mnt, int count)
*/
int propagate_mount_busy(struct vfsmount *mnt, int refcnt)
{
- struct vfsmount *m, *child;
+ struct vfsmount *m;
+ struct mount *child;
struct vfsmount *parent = mnt->mnt_parent;
int ret = 0;
@@ -307,8 +308,8 @@ int propagate_mount_busy(struct vfsmount *mnt, int refcnt)
for (m = propagation_next(parent, parent); m;
m = propagation_next(m, parent)) {
child = __lookup_mnt(m, mnt->mnt_mountpoint, 0);
- if (child && list_empty(&child->mnt_mounts) &&
- (ret = do_refcount_check(child, 1)))
+ if (child && list_empty(&child->mnt.mnt_mounts) &&
+ (ret = do_refcount_check(&child->mnt, 1)))
break;
}
return ret;
@@ -328,14 +329,14 @@ static void __propagate_umount(struct vfsmount *mnt)
for (m = propagation_next(parent, parent); m;
m = propagation_next(m, parent)) {
- struct vfsmount *child = __lookup_mnt(m,
+ struct mount *child = __lookup_mnt(m,
mnt->mnt_mountpoint, 0);
/*
* umount the child only if the child has no
* other children
*/
- if (child && list_empty(&child->mnt_mounts))
- list_move_tail(&child->mnt_hash, &mnt->mnt_hash);
+ if (child && list_empty(&child->mnt.mnt_mounts))
+ list_move_tail(&child->mnt.mnt_hash, &mnt->mnt_hash);
}
}