提交 52ba1621 编写于 作者: A Al Viro

vfs: move mnt_devname

Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
上级 1a4eeaf2
...@@ -19,7 +19,8 @@ struct mount { ...@@ -19,7 +19,8 @@ struct mount {
#endif #endif
struct list_head mnt_mounts; /* list of children, anchored here */ struct list_head mnt_mounts; /* list of children, anchored here */
struct list_head mnt_child; /* and going through their mnt_child */ struct list_head mnt_child; /* and going through their mnt_child */
/* yet to be moved - up to mnt_devname */ /* yet to be moved - fsnotify ones go here */
const char *mnt_devname; /* Name of device e.g. /dev/dsk/hda1 */
struct list_head mnt_list; struct list_head mnt_list;
struct list_head mnt_expire; /* link in fs-specific expiry list */ struct list_head mnt_expire; /* link in fs-specific expiry list */
struct list_head mnt_share; /* circular list of shared mounts */ struct list_head mnt_share; /* circular list of shared mounts */
......
...@@ -183,8 +183,8 @@ static struct mount *alloc_vfsmnt(const char *name) ...@@ -183,8 +183,8 @@ static struct mount *alloc_vfsmnt(const char *name)
goto out_free_cache; goto out_free_cache;
if (name) { if (name) {
mnt->mnt_devname = kstrdup(name, GFP_KERNEL); p->mnt_devname = kstrdup(name, GFP_KERNEL);
if (!mnt->mnt_devname) if (!p->mnt_devname)
goto out_free_id; goto out_free_id;
} }
...@@ -215,7 +215,7 @@ static struct mount *alloc_vfsmnt(const char *name) ...@@ -215,7 +215,7 @@ static struct mount *alloc_vfsmnt(const char *name)
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
out_free_devname: out_free_devname:
kfree(p->mnt.mnt_devname); kfree(p->mnt_devname);
#endif #endif
out_free_id: out_free_id:
mnt_free_id(p); mnt_free_id(p);
...@@ -451,7 +451,7 @@ static void __mnt_unmake_readonly(struct mount *mnt) ...@@ -451,7 +451,7 @@ static void __mnt_unmake_readonly(struct mount *mnt)
static void free_vfsmnt(struct mount *mnt) static void free_vfsmnt(struct mount *mnt)
{ {
kfree(mnt->mnt.mnt_devname); kfree(mnt->mnt_devname);
mnt_free_id(mnt); mnt_free_id(mnt);
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
free_percpu(mnt->mnt_pcp); free_percpu(mnt->mnt_pcp);
...@@ -692,7 +692,7 @@ static struct mount *clone_mnt(struct mount *old, struct dentry *root, ...@@ -692,7 +692,7 @@ static struct mount *clone_mnt(struct mount *old, struct dentry *root,
int flag) int flag)
{ {
struct super_block *sb = old->mnt.mnt_sb; struct super_block *sb = old->mnt.mnt_sb;
struct mount *mnt = alloc_vfsmnt(old->mnt.mnt_devname); struct mount *mnt = alloc_vfsmnt(old->mnt_devname);
if (mnt) { if (mnt) {
if (flag & (CL_SLAVE | CL_PRIVATE)) if (flag & (CL_SLAVE | CL_PRIVATE))
...@@ -997,7 +997,7 @@ static int show_vfsmnt(struct seq_file *m, void *v) ...@@ -997,7 +997,7 @@ static int show_vfsmnt(struct seq_file *m, void *v)
if (err) if (err)
goto out; goto out;
} else { } else {
mangle(m, mnt->mnt_devname ? mnt->mnt_devname : "none"); mangle(m, r->mnt_devname ? r->mnt_devname : "none");
} }
seq_putc(m, ' '); seq_putc(m, ' ');
seq_path(m, &mnt_path, " \t\n\\"); seq_path(m, &mnt_path, " \t\n\\");
...@@ -1070,7 +1070,7 @@ static int show_mountinfo(struct seq_file *m, void *v) ...@@ -1070,7 +1070,7 @@ static int show_mountinfo(struct seq_file *m, void *v)
if (sb->s_op->show_devname) if (sb->s_op->show_devname)
err = sb->s_op->show_devname(m, mnt); err = sb->s_op->show_devname(m, mnt);
else else
mangle(m, mnt->mnt_devname ? mnt->mnt_devname : "none"); mangle(m, r->mnt_devname ? r->mnt_devname : "none");
if (err) if (err)
goto out; goto out;
seq_puts(m, sb->s_flags & MS_RDONLY ? " ro" : " rw"); seq_puts(m, sb->s_flags & MS_RDONLY ? " ro" : " rw");
...@@ -1103,9 +1103,9 @@ static int show_vfsstat(struct seq_file *m, void *v) ...@@ -1103,9 +1103,9 @@ static int show_vfsstat(struct seq_file *m, void *v)
seq_puts(m, "device "); seq_puts(m, "device ");
err = mnt->mnt_sb->s_op->show_devname(m, mnt); err = mnt->mnt_sb->s_op->show_devname(m, mnt);
} else { } else {
if (mnt->mnt_devname) { if (r->mnt_devname) {
seq_puts(m, "device "); seq_puts(m, "device ");
mangle(m, mnt->mnt_devname); mangle(m, r->mnt_devname);
} else } else
seq_puts(m, "no device"); seq_puts(m, "no device");
} }
......
...@@ -56,7 +56,6 @@ struct vfsmount { ...@@ -56,7 +56,6 @@ struct vfsmount {
__u32 mnt_fsnotify_mask; __u32 mnt_fsnotify_mask;
struct hlist_head mnt_fsnotify_marks; struct hlist_head mnt_fsnotify_marks;
#endif #endif
const char *mnt_devname; /* Name of device e.g. /dev/dsk/hda1 */
}; };
struct file; /* forward dec */ struct file; /* forward dec */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册