diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2011-11-24 22:19:58 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-01-03 22:57:05 -0500 |
commit | 0714a533805a0f8ebfc6fdb6bda9f129b8c7c6d7 (patch) | |
tree | 7f34ceedc12c4a680ca3509562b09ec441a0954f /fs/pnode.c | |
parent | 3376f34fff5be9954fd9a9c4fd68f4a0a36d480e (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.c | 16 |
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 | */ |
323 | static void __propagate_umount(struct mount *mnt) | 323 | static 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); |