From: Al Viro Date: Thu, 24 Nov 2011 23:25:28 +0000 (-0500) Subject: vfs: spread struct mount - __propagate_umount() argument X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=61ef47b1e4ba9f2b939e6772e2f96082df0ae7eb;p=linux-beck.git vfs: spread struct mount - __propagate_umount() argument Signed-off-by: Al Viro --- diff --git a/fs/pnode.c b/fs/pnode.c index e996d039c0f2..ae5b1bda31ba 100644 --- a/fs/pnode.c +++ b/fs/pnode.c @@ -319,24 +319,24 @@ int propagate_mount_busy(struct vfsmount *mnt, int refcnt) * NOTE: unmounting 'mnt' naturally propagates to all other mounts its * parent propagates to. */ -static void __propagate_umount(struct vfsmount *mnt) +static void __propagate_umount(struct mount *mnt) { - struct vfsmount *parent = mnt->mnt_parent; + struct vfsmount *parent = mnt->mnt.mnt_parent; struct vfsmount *m; - BUG_ON(parent == mnt); + BUG_ON(parent == &mnt->mnt); for (m = propagation_next(parent, parent); m; m = propagation_next(m, parent)) { struct mount *child = __lookup_mnt(m, - mnt->mnt_mountpoint, 0); + mnt->mnt.mnt_mountpoint, 0); /* * umount the child only if the child has no * other children */ if (child && list_empty(&child->mnt.mnt_mounts)) - list_move_tail(&child->mnt.mnt_hash, &mnt->mnt_hash); + list_move_tail(&child->mnt.mnt_hash, &mnt->mnt.mnt_hash); } } @@ -349,9 +349,9 @@ static void __propagate_umount(struct vfsmount *mnt) */ int propagate_umount(struct list_head *list) { - struct vfsmount *mnt; + struct mount *mnt; - list_for_each_entry(mnt, list, mnt_hash) + list_for_each_entry(mnt, list, mnt.mnt_hash) __propagate_umount(mnt); return 0; }