Re: [PATCH REPOST] ext4: Destroy ext4_fc_dentry_cachep kmemcache on module removal.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks Sebastian for the patch, it looks good.

Reviewed-by: Harshad Shirwadkar <harshadshirwadkar@xxxxxxxxx>

On Tue, Dec 14, 2021 at 9:35 AM Sebastian Andrzej Siewior
<bigeasy@xxxxxxxxxxxxx> wrote:
>
> The kmemcache for ext4_fc_dentry_cachep remains registered after module
> removal.
>
> Destroy ext4_fc_dentry_cachep kmemcache on module removal.
>
> Fixes: aa75f4d3daaeb ("ext4: main fast-commit commit path")
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
> Reviewed-by: Lukas Czerner <lczerner@xxxxxxxxxx>
> Link: https://lore.kernel.org/r/20211110134640.lyku5vklvdndw6uk@xxxxxxxxxxxxx
> ---
>  fs/ext4/ext4.h        | 1 +
>  fs/ext4/fast_commit.c | 5 +++++
>  fs/ext4/super.c       | 2 ++
>  3 files changed, 8 insertions(+)
>
> diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
> index 404dd50856e5d..af7088085d4e4 100644
> --- a/fs/ext4/ext4.h
> +++ b/fs/ext4/ext4.h
> @@ -2935,6 +2935,7 @@ bool ext4_fc_replay_check_excluded(struct super_block *sb, ext4_fsblk_t block);
>  void ext4_fc_replay_cleanup(struct super_block *sb);
>  int ext4_fc_commit(journal_t *journal, tid_t commit_tid);
>  int __init ext4_fc_init_dentry_cache(void);
> +void ext4_fc_destroy_dentry_cache(void);
>
>  /* mballoc.c */
>  extern const struct seq_operations ext4_mb_seq_groups_ops;
> diff --git a/fs/ext4/fast_commit.c b/fs/ext4/fast_commit.c
> index 0f32b445582ab..4665508efd778 100644
> --- a/fs/ext4/fast_commit.c
> +++ b/fs/ext4/fast_commit.c
> @@ -2192,3 +2192,8 @@ int __init ext4_fc_init_dentry_cache(void)
>
>         return 0;
>  }
> +
> +void ext4_fc_destroy_dentry_cache(void)
> +{
> +       kmem_cache_destroy(ext4_fc_dentry_cachep);
> +}
> diff --git a/fs/ext4/super.c b/fs/ext4/super.c
> index 4e33b5eca694d..71185a217d05b 100644
> --- a/fs/ext4/super.c
> +++ b/fs/ext4/super.c
> @@ -6649,6 +6649,7 @@ static int __init ext4_init_fs(void)
>  out:
>         unregister_as_ext2();
>         unregister_as_ext3();
> +       ext4_fc_destroy_dentry_cache();
>  out05:
>         destroy_inodecache();
>  out1:
> @@ -6675,6 +6676,7 @@ static void __exit ext4_exit_fs(void)
>         unregister_as_ext2();
>         unregister_as_ext3();
>         unregister_filesystem(&ext4_fs_type);
> +       ext4_fc_destroy_dentry_cache();
>         destroy_inodecache();
>         ext4_exit_mballoc();
>         ext4_exit_sysfs();
> --
> 2.34.1
>



[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux