All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-review:UPDATE-20191230-115028/Chao-Yu/erofs-convert-to-use-the-new-mount-fs_context-api/20191226-103037 1/1] fs/erofs/super.c:231:34: error: macro "fsparam_enum" passed 3 arguments, but takes just 2
@ 2019-12-30  8:51 kbuild test robot
  2019-12-30  9:22 ` Gao Xiang
  0 siblings, 1 reply; 2+ messages in thread
From: kbuild test robot @ 2019-12-30  8:51 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 3703 bytes --]

tree:   https://github.com/0day-ci/linux/commits/UPDATE-20191230-115028/Chao-Yu/erofs-convert-to-use-the-new-mount-fs_context-api/20191226-103037
head:   3e0e36f521c53a827ec6001cf794964a0a64aaa9
commit: 3e0e36f521c53a827ec6001cf794964a0a64aaa9 [1/1] erofs: convert to use the new mount fs_context api
config: m68k-allyesconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 7.5.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 3e0e36f521c53a827ec6001cf794964a0a64aaa9
        # save the attached .config to linux build tree
        GCC_VERSION=7.5.0 make.cross ARCH=m68k 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> fs/erofs/super.c:231:34: error: macro "fsparam_enum" passed 3 arguments, but takes just 2
           erofs_param_cache_strategy),
                                     ^
>> fs/erofs/super.c:230:2: error: 'fsparam_enum' undeclared here (not in a function); did you mean 'fs_param_is_enum'?
     fsparam_enum("cache_strategy", Opt_cache_strategy,
     ^~~~~~~~~~~~
     fs_param_is_enum
   fs/erofs/super.c: In function 'erofs_fc_parse_param':
>> fs/erofs/super.c:242:21: error: passing argument 2 of 'fs_parse' from incompatible pointer type [-Werror=incompatible-pointer-types]
     opt = fs_parse(fc, erofs_fs_parameters, param, &result);
                        ^~~~~~~~~~~~~~~~~~~
   In file included from fs/erofs/super.c:14:0:
   include/linux/fs_parser.h:84:12: note: expected 'const struct fs_parameter_description *' but argument is of type 'const struct fs_parameter_spec *'
    extern int fs_parse(struct fs_context *fc,
               ^~~~~~~~
   cc1: some warnings being treated as errors

vim +/fsparam_enum +231 fs/erofs/super.c

   226	
   227	static const struct fs_parameter_spec erofs_fs_parameters[] = {
   228		fsparam_flag_no("user_xattr",	Opt_user_xattr),
   229		fsparam_flag_no("acl",		Opt_acl),
 > 230		fsparam_enum("cache_strategy",	Opt_cache_strategy,
 > 231			     erofs_param_cache_strategy),
   232		{}
   233	};
   234	
   235	static int erofs_fc_parse_param(struct fs_context *fc,
   236					struct fs_parameter *param)
   237	{
   238		struct erofs_sb_info *sbi __maybe_unused = fc->s_fs_info;
   239		struct fs_parse_result result;
   240		int opt;
   241	
 > 242		opt = fs_parse(fc, erofs_fs_parameters, param, &result);
   243		if (opt < 0)
   244			return opt;
   245	
   246		switch (opt) {
   247		case Opt_user_xattr:
   248	#ifdef CONFIG_EROFS_FS_XATTR
   249			if (result.boolean)
   250				set_opt(sbi, XATTR_USER);
   251			else
   252				clear_opt(sbi, XATTR_USER);
   253	#else
   254			errorfc(fc, "user_xattr options not supported");
   255	#endif
   256			break;
   257		case Opt_acl:
   258	#ifdef CONFIG_EROFS_FS_POSIX_ACL
   259			if (result.boolean)
   260				set_opt(sbi, POSIX_ACL);
   261			else
   262				clear_opt(sbi, POSIX_ACL);
   263	#else
   264			errorfc(fc, "acl options not supported");
   265	#endif
   266			break;
   267		case Opt_cache_strategy:
   268	#ifdef CONFIG_EROFS_FS_ZIP
   269			sbi->cache_strategy = result.uint_32;
   270	#else
   271			errorfc(fc, "compression not supported, cache_strategy ignored");
   272	#endif
   273			break;
   274		default:
   275			return -ENOPARAM;
   276		}
   277		return 0;
   278	}
   279	

---
0-DAY kernel test infrastructure                 Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org Intel Corporation

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 52200 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [linux-review:UPDATE-20191230-115028/Chao-Yu/erofs-convert-to-use-the-new-mount-fs_context-api/20191226-103037 1/1] fs/erofs/super.c:231:34: error: macro "fsparam_enum" passed 3 arguments, but takes just 2
  2019-12-30  8:51 [linux-review:UPDATE-20191230-115028/Chao-Yu/erofs-convert-to-use-the-new-mount-fs_context-api/20191226-103037 1/1] fs/erofs/super.c:231:34: error: macro "fsparam_enum" passed 3 arguments, but takes just 2 kbuild test robot
@ 2019-12-30  9:22 ` Gao Xiang
  0 siblings, 0 replies; 2+ messages in thread
From: Gao Xiang @ 2019-12-30  9:22 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 4173 bytes --]

Hi,

This version is not based on linux mainline or linux-next.
It is based on the following branch:
https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git -b untested.fs_parse

Thanks,
Gao Xiang

On Mon, Dec 30, 2019 at 04:51:51PM +0800, kbuild test robot wrote:
> tree:   https://github.com/0day-ci/linux/commits/UPDATE-20191230-115028/Chao-Yu/erofs-convert-to-use-the-new-mount-fs_context-api/20191226-103037
> head:   3e0e36f521c53a827ec6001cf794964a0a64aaa9
> commit: 3e0e36f521c53a827ec6001cf794964a0a64aaa9 [1/1] erofs: convert to use the new mount fs_context api
> config: m68k-allyesconfig (attached as .config)
> compiler: m68k-linux-gcc (GCC) 7.5.0
> reproduce:
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         git checkout 3e0e36f521c53a827ec6001cf794964a0a64aaa9
>         # save the attached .config to linux build tree
>         GCC_VERSION=7.5.0 make.cross ARCH=m68k 
> 
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <lkp@intel.com>
> 
> All errors (new ones prefixed by >>):
> 
> >> fs/erofs/super.c:231:34: error: macro "fsparam_enum" passed 3 arguments, but takes just 2
>            erofs_param_cache_strategy),
>                                      ^
> >> fs/erofs/super.c:230:2: error: 'fsparam_enum' undeclared here (not in a function); did you mean 'fs_param_is_enum'?
>      fsparam_enum("cache_strategy", Opt_cache_strategy,
>      ^~~~~~~~~~~~
>      fs_param_is_enum
>    fs/erofs/super.c: In function 'erofs_fc_parse_param':
> >> fs/erofs/super.c:242:21: error: passing argument 2 of 'fs_parse' from incompatible pointer type [-Werror=incompatible-pointer-types]
>      opt = fs_parse(fc, erofs_fs_parameters, param, &result);
>                         ^~~~~~~~~~~~~~~~~~~
>    In file included from fs/erofs/super.c:14:0:
>    include/linux/fs_parser.h:84:12: note: expected 'const struct fs_parameter_description *' but argument is of type 'const struct fs_parameter_spec *'
>     extern int fs_parse(struct fs_context *fc,
>                ^~~~~~~~
>    cc1: some warnings being treated as errors
> 
> vim +/fsparam_enum +231 fs/erofs/super.c
> 
>    226	
>    227	static const struct fs_parameter_spec erofs_fs_parameters[] = {
>    228		fsparam_flag_no("user_xattr",	Opt_user_xattr),
>    229		fsparam_flag_no("acl",		Opt_acl),
>  > 230		fsparam_enum("cache_strategy",	Opt_cache_strategy,
>  > 231			     erofs_param_cache_strategy),
>    232		{}
>    233	};
>    234	
>    235	static int erofs_fc_parse_param(struct fs_context *fc,
>    236					struct fs_parameter *param)
>    237	{
>    238		struct erofs_sb_info *sbi __maybe_unused = fc->s_fs_info;
>    239		struct fs_parse_result result;
>    240		int opt;
>    241	
>  > 242		opt = fs_parse(fc, erofs_fs_parameters, param, &result);
>    243		if (opt < 0)
>    244			return opt;
>    245	
>    246		switch (opt) {
>    247		case Opt_user_xattr:
>    248	#ifdef CONFIG_EROFS_FS_XATTR
>    249			if (result.boolean)
>    250				set_opt(sbi, XATTR_USER);
>    251			else
>    252				clear_opt(sbi, XATTR_USER);
>    253	#else
>    254			errorfc(fc, "user_xattr options not supported");
>    255	#endif
>    256			break;
>    257		case Opt_acl:
>    258	#ifdef CONFIG_EROFS_FS_POSIX_ACL
>    259			if (result.boolean)
>    260				set_opt(sbi, POSIX_ACL);
>    261			else
>    262				clear_opt(sbi, POSIX_ACL);
>    263	#else
>    264			errorfc(fc, "acl options not supported");
>    265	#endif
>    266			break;
>    267		case Opt_cache_strategy:
>    268	#ifdef CONFIG_EROFS_FS_ZIP
>    269			sbi->cache_strategy = result.uint_32;
>    270	#else
>    271			errorfc(fc, "compression not supported, cache_strategy ignored");
>    272	#endif
>    273			break;
>    274		default:
>    275			return -ENOPARAM;
>    276		}
>    277		return 0;
>    278	}
>    279	
> 
> ---
> 0-DAY kernel test infrastructure                 Open Source Technology Center
> https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org Intel Corporation


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-12-30  9:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-30  8:51 [linux-review:UPDATE-20191230-115028/Chao-Yu/erofs-convert-to-use-the-new-mount-fs_context-api/20191226-103037 1/1] fs/erofs/super.c:231:34: error: macro "fsparam_enum" passed 3 arguments, but takes just 2 kbuild test robot
2019-12-30  9:22 ` Gao Xiang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.