diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2011-11-24 20:58:57 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-01-03 22:57:01 -0500 |
commit | d5e50f74dd2ed6dd1bb4bf6fe58e5a7de4b77953 (patch) | |
tree | b0b9d829ec542a2b972eef0f69f6f54443228ac3 | |
parent | cb338d06e9716c92d5a7855e7c67b8f111ced722 (diff) | |
download | linux-d5e50f74dd2ed6dd1bb4bf6fe58e5a7de4b77953.tar.bz2 |
vfs: spread struct mount to remaining users of ->mnt_hash
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r-- | fs/namespace.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/fs/namespace.c b/fs/namespace.c index 6051a034db96..76412348d5be 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -199,7 +199,7 @@ static struct mount *alloc_vfsmnt(const char *name) 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 @@ static void dentry_reset_mounted(struct dentry *dentry) 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 @@ EXPORT_SYMBOL(may_umount); 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); } } |