2018-11-17 23:16:06

by Chengguang Xu

[permalink] [raw]
Subject: [PATCH] ext2: surround xattr related code with macro CONFIG_EXT2_FS_XATTR

ext2_xattr_destroy_cache() is only needed when macro
CONFIG_EXT2_FS_XATTR is enabled, so surround related
code with the macro.

Signed-off-by: Chengguang Xu <[email protected]>
---
fs/ext2/super.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/fs/ext2/super.c b/fs/ext2/super.c
index e4351c280608..67a71b0cb5e0 100644
--- a/fs/ext2/super.c
+++ b/fs/ext2/super.c
@@ -148,8 +148,10 @@ static void ext2_put_super (struct super_block * sb)

ext2_quota_off_umount(sb);

+#ifdef CONFIG_EXT2_FS_XATTR
ext2_xattr_destroy_cache(sbi->s_ea_block_cache);
sbi->s_ea_block_cache = NULL;
+#endif

if (!sb_rdonly(sb)) {
struct ext2_super_block *es = sbi->s_es;
@@ -1196,7 +1198,9 @@ static int ext2_fill_super(struct super_block *sb, void *data, int silent)
sb->s_id);
goto failed_mount;
failed_mount3:
+#ifdef CONFIG_EXT2_FS_XATTR
ext2_xattr_destroy_cache(sbi->s_ea_block_cache);
+#endif
percpu_counter_destroy(&sbi->s_freeblocks_counter);
percpu_counter_destroy(&sbi->s_freeinodes_counter);
percpu_counter_destroy(&sbi->s_dirs_counter);
--
2.17.2


2018-11-19 20:25:56

by Jan Kara

[permalink] [raw]
Subject: Re: [PATCH] ext2: surround xattr related code with macro CONFIG_EXT2_FS_XATTR

On Sat 17-11-18 20:59:16, Chengguang Xu wrote:
> ext2_xattr_destroy_cache() is only needed when macro
> CONFIG_EXT2_FS_XATTR is enabled, so surround related
> code with the macro.

True but I prefer (and it is a general kernel practice) to avoid ifdef
in code if reasonably possible.

Honza

> ---
> fs/ext2/super.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/fs/ext2/super.c b/fs/ext2/super.c
> index e4351c280608..67a71b0cb5e0 100644
> --- a/fs/ext2/super.c
> +++ b/fs/ext2/super.c
> @@ -148,8 +148,10 @@ static void ext2_put_super (struct super_block * sb)
>
> ext2_quota_off_umount(sb);
>
> +#ifdef CONFIG_EXT2_FS_XATTR
> ext2_xattr_destroy_cache(sbi->s_ea_block_cache);
> sbi->s_ea_block_cache = NULL;
> +#endif
>
> if (!sb_rdonly(sb)) {
> struct ext2_super_block *es = sbi->s_es;
> @@ -1196,7 +1198,9 @@ static int ext2_fill_super(struct super_block *sb, void *data, int silent)
> sb->s_id);
> goto failed_mount;
> failed_mount3:
> +#ifdef CONFIG_EXT2_FS_XATTR
> ext2_xattr_destroy_cache(sbi->s_ea_block_cache);
> +#endif
> percpu_counter_destroy(&sbi->s_freeblocks_counter);
> percpu_counter_destroy(&sbi->s_freeinodes_counter);
> percpu_counter_destroy(&sbi->s_dirs_counter);
> --
> 2.17.2
>
>
--
Jan Kara <[email protected]>
SUSE Labs, CR