diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2020-11-05 11:57:58 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2020-12-07 11:50:46 -0500 |
commit | d983a32e7902da73c52e80b5dda4bc14d16415ae (patch) | |
tree | 4159d4364b90f14c8f4a1cf809acf25535a0a80e /fs/super.c | |
parent | 492f2208a8a1788569f67142cab50cc9e13be5ee (diff) |
switch inodes to rhashtableinode_work
Diffstat (limited to 'fs/super.c')
-rw-r--r-- | fs/super.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/super.c b/fs/super.c index 904459b35119..b9df9976ff7d 100644 --- a/fs/super.c +++ b/fs/super.c @@ -35,6 +35,7 @@ #include <linux/fscrypt.h> #include <linux/fsnotify.h> #include <linux/lockdep.h> +#include <linux/rhashtable.h> #include <linux/user_namespace.h> #include <linux/fs_context.h> #include <uapi/linux/mount.h> @@ -162,6 +163,8 @@ static void destroy_super_work(struct work_struct *work) for (i = 0; i < SB_FREEZE_LEVELS; i++) percpu_free_rwsem(&s->s_writers.rw_sem[i]); + if (s->s_inode_table_init_done) + rhashtable_destroy(&s->s_inode_table); kfree(s); } @@ -273,6 +276,8 @@ static struct super_block *alloc_super(struct file_system_type *type, int flags, goto fail; if (list_lru_init_memcg(&s->s_inode_lru, &s->s_shrink)) goto fail; + if (super_setup_inode_table(s, &default_inode_table_params)) + goto fail; return s; fail: |