diff options
| author | Al Viro <viro@zeniv.linux.org.uk> | 2013-10-04 11:06:42 -0400 |
|---|---|---|
| committer | Moyster <oysterized@gmail.com> | 2016-08-26 19:14:56 +0200 |
| commit | 46488e96c8dd270ec71a0e042ba794e3918ef814 (patch) | |
| tree | bb89c3c758e36c79b1e998b69a651b71c248780c /fs/super.c | |
| parent | dab04f57d1037cf43690067f03e9e60fc496427a (diff) | |
get rid of s_files and files_lock
commit eee5cc2702929fd41cce28058dc6d6717f723f87 upstream.
The only thing we need it for is alt-sysrq-r (emergency remount r/o)
and these days we can do just as well without going through the
list of files.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
[wangkai: backport to 3.10: adjust context]
Signed-off-by: Wang Kai <morgan.wang@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Stefan Guendhoer <stefan@guendhoer.com>
Diffstat (limited to 'fs/super.c')
| -rw-r--r-- | fs/super.c | 23 |
1 files changed, 2 insertions, 21 deletions
diff --git a/fs/super.c b/fs/super.c index dbd72931b..db45c2f10 100644 --- a/fs/super.c +++ b/fs/super.c @@ -165,19 +165,6 @@ static struct super_block *alloc_super(struct file_system_type *type, int flags) s = NULL; goto out; } -#ifdef CONFIG_SMP - s->s_files = alloc_percpu(struct list_head); - if (!s->s_files) - goto err_out; - else { - int i; - - for_each_possible_cpu(i) - INIT_LIST_HEAD(per_cpu_ptr(s->s_files, i)); - } -#else - INIT_LIST_HEAD(&s->s_files); -#endif if (init_sb_writers(s, type)) goto err_out; s->s_flags = flags; @@ -227,10 +214,6 @@ out: return s; err_out: security_sb_free(s); -#ifdef CONFIG_SMP - if (s->s_files) - free_percpu(s->s_files); -#endif destroy_sb_writers(s); kfree(s); s = NULL; @@ -245,9 +228,6 @@ err_out: */ static inline void destroy_super(struct super_block *s) { -#ifdef CONFIG_SMP - free_percpu(s->s_files); -#endif destroy_sb_writers(s); security_sb_free(s); WARN_ON(!list_empty(&s->s_mounts)); @@ -729,7 +709,8 @@ int do_remount_sb(struct super_block *sb, int flags, void *data, int force) make sure there are no rw files opened */ if (remount_ro) { if (force) { - mark_files_ro(sb); + sb->s_readonly_remount = 1; + smp_wmb(); } else { retval = sb_prepare_remount_readonly(sb); if (retval) |
