diff options
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 (patch) | |
tree | 59e86cc1602db35ffc2c3991953161f1619706b1 /fs/pnode.c | |
parent | 7d6fec45a5131918b51dcd76da52f2ec86a85be6 (diff) | |
download | op-kernel-dev-c71053659e3bb27d44b79da0bb4abf5838c2060a.zip op-kernel-dev-c71053659e3bb27d44b79da0bb4abf5838c2060a.tar.gz |
vfs: spread struct mount - __lookup_mnt() result
switch __lookup_mnt() to returning struct mount *; callers adjusted.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/pnode.c')
-rw-r--r-- | fs/pnode.c | 13 |
1 files changed, 7 insertions, 6 deletions
@@ -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); } } |