Subject: Re: linux-next: build failure after merge of the vfs tree

From: Stephen Rothwell <[email-masked]>
Date: Mon, 29 Oct 2018 15:33:34 +1100

Hi Al, David,

These have returned, so I have disabled CONFIG_SAMPLE_VFS again.

On Mon, 10 Sep 2018 13:35:25 +1000 Stephen Rothwell <[email-masked]> wrote:
>
> After merging the vfs tree, today's linux-next build (powerpc
> allyesconfig) failed like this:
> 
> samples/vfs/test-fsinfo.c: In function 'fsinfo':
> samples/vfs/test-fsinfo.c:37:17: error: '__NR_fsinfo' undeclared (first use in this function); did you mean 'fsinfo'?
>   return syscall(__NR_fsinfo, dfd, filename, params, buffer, buf_size);
>                  ^~~~~~~~~~~
>                  fsinfo
> samples/vfs/test-fsinfo.c:37:17: note: each undeclared identifier is reported only once for each function it appears in
> samples/vfs/test-fsinfo.c: In function 'dump_attr_LIMITS':
> samples/vfs/test-fsinfo.c:180:30: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 2 has type '__u64' {aka 'long unsigned int'} [-Wformat=]
>   printf("\tmax file size: %llx\n", f->max_file_size);
>                            ~~~^     ~~~~~~~~~~~~~~~~
>                            %lx
> samples/vfs/test-fsinfo.c:181:32: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 2 has type '__u64' {aka 'long unsigned int'} [-Wformat=]
>   printf("\tmax ids      : u=%llx g=%llx p=%llx\n",
>                              ~~~^
>                              %lx
>          f->max_uid, f->max_gid, f->max_projid);
>          ~~~~~~~~~~
> samples/vfs/test-fsinfo.c:181:39: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 3 has type '__u64' {aka 'long unsigned int'} [-Wformat=]
>   printf("\tmax ids      : u=%llx g=%llx p=%llx\n",
>                                     ~~~^
>                                     %lx
>          f->max_uid, f->max_gid, f->max_projid);
>                      ~~~~~~~~~~
> samples/vfs/test-fsinfo.c:181:46: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 4 has type '__u64' {aka 'long unsigned int'} [-Wformat=]
>   printf("\tmax ids      : u=%llx g=%llx p=%llx\n",
>                                            ~~~^
>                                            %lx
>          f->max_uid, f->max_gid, f->max_projid);
>                                  ~~~~~~~~~~~~~
> samples/vfs/test-fsinfo.c: In function 'dump_attr_SUPPORTS':
> samples/vfs/test-fsinfo.c:197:24: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 2 has type '__u64' {aka 'long unsigned int'} [-Wformat=]
>   printf("\tstx_attr=%llx\n", f->stx_attributes);
>                      ~~~^     ~~~~~~~~~~~~~~~~~
>                      %lx
> samples/vfs/test-fsmount.c: In function 'fsopen':
> samples/vfs/test-fsmount.c:63:17: error: '__NR_fsopen' undeclared (first use in this function); did you mean 'fsopen'?
>   return syscall(__NR_fsopen, fs_name, flags);
>                  ^~~~~~~~~~~
>                  fsopen
> samples/vfs/test-fsmount.c:63:17: note: each undeclared identifier is reported only once for each function it appears in
> samples/vfs/test-fsmount.c: In function 'fsmount':
> samples/vfs/test-fsmount.c:68:17: error: '__NR_fsmount' undeclared (first use in this function); did you mean 'fsmount'?
>   return syscall(__NR_fsmount, fsfd, flags, ms_flags);
>                  ^~~~~~~~~~~~
>                  fsmount
> samples/vfs/test-fsmount.c: In function 'fsconfig':
> samples/vfs/test-fsmount.c:74:17: error: '__NR_fsconfig' undeclared (first use in this function); did you mean 'fsconfig'?
>   return syscall(__NR_fsconfig, fsfd, cmd, key, val, aux);
>                  ^~~~~~~~~~~~~
>                  fsconfig
> samples/vfs/test-fsmount.c: In function 'move_mount':
> samples/vfs/test-fsmount.c:81:17: error: '__NR_move_mount' undeclared (first use in this function); did you mean 'move_mount'?
>   return syscall(__NR_move_mount,
>                  ^~~~~~~~~~~~~~~
>                  move_mount
> samples/vfs/test-fs-query.c: In function 'fsopen':
> samples/vfs/test-fs-query.c:32:17: error: '__NR_fsopen' undeclared (first use in this function); did you mean 'fsopen'?
>   return syscall(__NR_fsopen, fs_name, flags);
>                  ^~~~~~~~~~~
>                  fsopen
> samples/vfs/test-fs-query.c:32:17: note: each undeclared identifier is reported only once for each function it appears in
> samples/vfs/test-fs-query.c: In function 'fsinfo':
> samples/vfs/test-fs-query.c:38:17: error: '__NR_fsinfo' undeclared (first use in this function); did you mean 'fsinfo'?
>   return syscall(__NR_fsinfo, dfd, filename, params, buffer, buf_size);
>                  ^~~~~~~~~~~
>                  fsinfo
> samples/vfs/test-statx.c: In function 'dump_statx':
> samples/vfs/test-statx.c:160:29: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 2 has type '__u64' {aka 'long unsigned int'} [-Wformat=]
>    printf("Attributes: %016llx (", stx->stx_attributes);
>                        ~~~~~~^     ~~~~~~~~~~~~~~~~~~~
>                        %016lx
> 
> Caused by commits
> 
>   2615362dc9ce ("vfs: Add a sample program for the new mount API")
>   e9078278ec11 ("vfs: syscall: Add fsinfo() to query filesystem information")
> 
> The directory name has changed, but the errors persist!
> 
> I have applied this patch for today:
> 
> From: Stephen Rothwell <[email-masked]>
> Date: Mon, 10 Sep 2018 13:19:20 +1000
> Subject: [PATCH] disable building the VFS sample programs
> 
> Signed-off-by: Stephen Rothwell <[email-masked]>
> ---
>  samples/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/samples/Kconfig b/samples/Kconfig
> index 0431af2589ac..c8823d9d97db 100644
> --- a/samples/Kconfig
> +++ b/samples/Kconfig
> @@ -148,6 +148,7 @@ config SAMPLE_VFIO_MDEV_MBOCHS
>  
>  config SAMPLE_VFS
>  	bool "Build example programs that use new VFS system calls"
> +	depends on BROKEN
>  	help
>  	  Build example userspace programs that use new VFS system calls such
>  	  as mount API and statx()

-- 
Cheers,
Stephen Rothwell