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) |
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
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) | |||
289 | */ | 289 | */ |
290 | int propagate_mount_busy(struct vfsmount *mnt, int refcnt) | 290 | int propagate_mount_busy(struct vfsmount *mnt, int refcnt) |
291 | { | 291 | { |
292 | struct vfsmount *m, *child; | 292 | struct vfsmount *m; |
293 | struct mount *child; | ||
293 | struct vfsmount *parent = mnt->mnt_parent; | 294 | struct vfsmount *parent = mnt->mnt_parent; |
294 | int ret = 0; | 295 | int ret = 0; |
295 | 296 | ||
@@ -307,8 +308,8 @@ int propagate_mount_busy(struct vfsmount *mnt, int refcnt) | |||
307 | for (m = propagation_next(parent, parent); m; | 308 | for (m = propagation_next(parent, parent); m; |
308 | m = propagation_next(m, parent)) { | 309 | m = propagation_next(m, parent)) { |
309 | child = __lookup_mnt(m, mnt->mnt_mountpoint, 0); | 310 | child = __lookup_mnt(m, mnt->mnt_mountpoint, 0); |
310 | if (child && list_empty(&child->mnt_mounts) && | 311 | if (child && list_empty(&child->mnt.mnt_mounts) && |
311 | (ret = do_refcount_check(child, 1))) | 312 | (ret = do_refcount_check(&child->mnt, 1))) |
312 | break; | 313 | break; |
313 | } | 314 | } |
314 | return ret; | 315 | return ret; |
@@ -328,14 +329,14 @@ static void __propagate_umount(struct vfsmount *mnt) | |||
328 | for (m = propagation_next(parent, parent); m; | 329 | for (m = propagation_next(parent, parent); m; |
329 | m = propagation_next(m, parent)) { | 330 | m = propagation_next(m, parent)) { |
330 | 331 | ||
331 | struct vfsmount *child = __lookup_mnt(m, | 332 | struct mount *child = __lookup_mnt(m, |
332 | mnt->mnt_mountpoint, 0); | 333 | mnt->mnt_mountpoint, 0); |
333 | /* | 334 | /* |
334 | * umount the child only if the child has no | 335 | * umount the child only if the child has no |
335 | * other children | 336 | * other children |
336 | */ | 337 | */ |
337 | if (child && list_empty(&child->mnt_mounts)) | 338 | if (child && list_empty(&child->mnt.mnt_mounts)) |
338 | list_move_tail(&child->mnt_hash, &mnt->mnt_hash); | 339 | list_move_tail(&child->mnt.mnt_hash, &mnt->mnt_hash); |
339 | } | 340 | } |
340 | } | 341 | } |
341 | 342 | ||