vfs: spread struct mount to remaining users of ->mnt_hash

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
diff --git a/fs/namespace.c b/fs/namespace.c
index 6051a03..7641234 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -199,7 +199,7 @@
 		mnt->mnt_writers = 0;
 #endif
 
-		INIT_LIST_HEAD(&mnt->mnt_hash);
+		INIT_LIST_HEAD(&p->mnt.mnt_hash);
 		INIT_LIST_HEAD(&mnt->mnt_child);
 		INIT_LIST_HEAD(&mnt->mnt_mounts);
 		INIT_LIST_HEAD(&mnt->mnt_list);
@@ -540,10 +540,10 @@
 	unsigned u;
 
 	for (u = 0; u < HASH_SIZE; u++) {
-		struct vfsmount *p;
+		struct mount *p;
 
-		list_for_each_entry(p, &mount_hashtable[u], mnt_hash) {
-			if (p->mnt_mountpoint == dentry)
+		list_for_each_entry(p, &mount_hashtable[u], mnt.mnt_hash) {
+			if (p->mnt.mnt_mountpoint == dentry)
 				return;
 		}
 	}
@@ -1191,25 +1191,25 @@
 
 void release_mounts(struct list_head *head)
 {
-	struct vfsmount *mnt;
+	struct mount *mnt;
 	while (!list_empty(head)) {
-		mnt = list_first_entry(head, struct vfsmount, mnt_hash);
-		list_del_init(&mnt->mnt_hash);
-		if (mnt_has_parent(mnt)) {
+		mnt = list_first_entry(head, struct mount, mnt.mnt_hash);
+		list_del_init(&mnt->mnt.mnt_hash);
+		if (mnt_has_parent(&mnt->mnt)) {
 			struct dentry *dentry;
 			struct vfsmount *m;
 
 			br_write_lock(vfsmount_lock);
-			dentry = mnt->mnt_mountpoint;
-			m = mnt->mnt_parent;
-			mnt->mnt_mountpoint = mnt->mnt_root;
-			mnt->mnt_parent = mnt;
+			dentry = mnt->mnt.mnt_mountpoint;
+			m = mnt->mnt.mnt_parent;
+			mnt->mnt.mnt_mountpoint = mnt->mnt.mnt_root;
+			mnt->mnt.mnt_parent = &mnt->mnt;
 			m->mnt_ghosts--;
 			br_write_unlock(vfsmount_lock);
 			dput(dentry);
 			mntput(m);
 		}
-		mntput(mnt);
+		mntput(&mnt->mnt);
 	}
 }