Re: [PATCH] ext4: don't update s_rev_level if not required

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

 



Hi Andreas,

On Sun, Jan 13, 2019 at 1:36 AM Andreas Dilger <adilger@xxxxxxxxx> wrote:
> Don't update the superblock s_rev_level during mount if it isn't
> actually necessary, only if superblock features are being set by
> the kernel.  This was originally added for ext3 since it always
> set the INCOMPAT_RECOVER and HAS_JOURNAL features during mount,
> but this is not needed since no journal mode was added to ext4.
>
> That will allow Geert to mount his 20-year-old ext2 rev 0.0 m68k
> filesystem, as a testament of the backward compatibility of ext4.
>
> Fixes: 0390131ba84f ("ext4: Allow ext4 to run without a journal")
> Signed-off-by: Andreas Dilger <adilger@xxxxxxxxx>

Thanks for your patch!

> --- a/fs/ext4/ext4.h
> +++ b/fs/ext4/ext4.h
> @@ -1670,6 +1670,7 @@ static inline void ext4_clear_state_flags(struct ext4_inode_info *ei)
>  } \
>  static inline void ext4_set_feature_##name(struct super_block *sb) \
>  { \
> +       ext4_update_dynamic_rev(sb); \

This doesn't compile, as ext4_update_dynamic_rev() is used before its
declaration:

In file included from fs/ext4/bitmap.c:12:0:
fs/ext4/ext4.h: In function ‘ext4_set_feature_dir_prealloc’:
fs/ext4/ext4.h:1673:2: error: implicit declaration of function
‘ext4_update_dynamic_rev’ [-Werror=implicit-function-declaration]
  ext4_update_dynamic_rev(sb); \
  ^
fs/ext4/ext4.h:1719:1: note: in expansion of macro ‘EXT4_FEATURE_COMPAT_FUNCS’
 EXT4_FEATURE_COMPAT_FUNCS(dir_prealloc,  DIR_PREALLOC)
 ^~~~~~~~~~~~~~~~~~~~~~~~~
fs/ext4/ext4.h: At top level:
fs/ext4/ext4.h:2678:13: warning: conflicting types for ‘ext4_update_dynamic_rev’
 extern void ext4_update_dynamic_rev(struct super_block *sb);
             ^~~~~~~~~~~~~~~~~~~~~~~
fs/ext4/ext4.h:1673:2: note: previous implicit declaration of
‘ext4_update_dynamic_rev’ was here
  ext4_update_dynamic_rev(sb); \
  ^
fs/ext4/ext4.h:1719:1: note: in expansion of macro ‘EXT4_FEATURE_COMPAT_FUNCS’
 EXT4_FEATURE_COMPAT_FUNCS(dir_prealloc,  DIR_PREALLOC)
 ^~~~~~~~~~~~~~~~~~~~~~~~~

Moving the declaration up fixes that.

Hence with that fixed:
Tested-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>

Thanks!

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



[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