ext4: destroy ext4_fc_dentry_cachep kmemcache on module removal
commit ab047d516dea72f011c15c04a929851e4d053109 upstream.
The kmemcache for ext4_fc_dentry_cachep remains registered after module
removal.
Destroy ext4_fc_dentry_cachep kmemcache on module removal.
Fixes: aa75f4d3da
("ext4: main fast-commit commit path")
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Reviewed-by: Lukas Czerner <lczerner@redhat.com>
Reviewed-by: Harshad Shirwadkar <harshadshirwadkar@gmail.com>
Link: https://lore.kernel.org/r/20211110134640.lyku5vklvdndw6uk@linutronix.de
Link: https://lore.kernel.org/r/YbiK3JetFFl08bd7@linutronix.de
Link: https://lore.kernel.org/r/20211223164436.2628390-1-bigeasy@linutronix.de
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
f26b24b4c1
commit
d60e9daba2
@@ -2778,6 +2778,7 @@ bool ext4_fc_replay_check_excluded(struct super_block *sb, ext4_fsblk_t block);
|
|||||||
void ext4_fc_replay_cleanup(struct super_block *sb);
|
void ext4_fc_replay_cleanup(struct super_block *sb);
|
||||||
int ext4_fc_commit(journal_t *journal, tid_t commit_tid);
|
int ext4_fc_commit(journal_t *journal, tid_t commit_tid);
|
||||||
int __init ext4_fc_init_dentry_cache(void);
|
int __init ext4_fc_init_dentry_cache(void);
|
||||||
|
void ext4_fc_destroy_dentry_cache(void);
|
||||||
|
|
||||||
/* mballoc.c */
|
/* mballoc.c */
|
||||||
extern const struct seq_operations ext4_mb_seq_groups_ops;
|
extern const struct seq_operations ext4_mb_seq_groups_ops;
|
||||||
|
@@ -2169,3 +2169,8 @@ int __init ext4_fc_init_dentry_cache(void)
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ext4_fc_destroy_dentry_cache(void)
|
||||||
|
{
|
||||||
|
kmem_cache_destroy(ext4_fc_dentry_cachep);
|
||||||
|
}
|
||||||
|
@@ -6729,6 +6729,7 @@ static int __init ext4_init_fs(void)
|
|||||||
out:
|
out:
|
||||||
unregister_as_ext2();
|
unregister_as_ext2();
|
||||||
unregister_as_ext3();
|
unregister_as_ext3();
|
||||||
|
ext4_fc_destroy_dentry_cache();
|
||||||
out05:
|
out05:
|
||||||
destroy_inodecache();
|
destroy_inodecache();
|
||||||
out1:
|
out1:
|
||||||
@@ -6755,6 +6756,7 @@ static void __exit ext4_exit_fs(void)
|
|||||||
unregister_as_ext2();
|
unregister_as_ext2();
|
||||||
unregister_as_ext3();
|
unregister_as_ext3();
|
||||||
unregister_filesystem(&ext4_fs_type);
|
unregister_filesystem(&ext4_fs_type);
|
||||||
|
ext4_fc_destroy_dentry_cache();
|
||||||
destroy_inodecache();
|
destroy_inodecache();
|
||||||
ext4_exit_mballoc();
|
ext4_exit_mballoc();
|
||||||
ext4_exit_sysfs();
|
ext4_exit_sysfs();
|
||||||
|
Reference in New Issue
Block a user