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

From: Gao Xiang <[email-masked]>
Date: Mon, 30 Jul 2018 14:31:46 +0800

Hi Stephen,

On 2018/7/30 14:16, Stephen Rothwell wrote:
> Hi Greg,
> 
> After merging the staging tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> drivers/staging/erofs/super.c: In function 'erofs_read_super':
> drivers/staging/erofs/super.c:343:17: error: 'MS_RDONLY' undeclared (first use in this function); did you mean 'IS_RDONLY'?
>   sb->s_flags |= MS_RDONLY | MS_NOATIME;
>                  ^~~~~~~~~
>                  IS_RDONLY
> drivers/staging/erofs/super.c:343:17: note: each undeclared identifier is reported only once for each function it appears in
> drivers/staging/erofs/super.c:343:29: error: 'MS_NOATIME' undeclared (first use in this function); did you mean 'S_NOATIME'?
>   sb->s_flags |= MS_RDONLY | MS_NOATIME;
>                              ^~~~~~~~~~
>                              S_NOATIME
> drivers/staging/erofs/super.c: In function 'erofs_mount':
> drivers/staging/erofs/super.c:501:10: warning: passing argument 5 of 'mount_bdev' makes integer from pointer without a cast [-Wint-conversion]
>    &priv, erofs_fill_super);
>           ^~~~~~~~~~~~~~~~
> In file included from include/linux/buffer_head.h:12:0,
>                  from drivers/staging/erofs/super.c:14:
> include/linux/fs.h:2151:23: note: expected 'size_t {aka long unsigned int}' but argument is of type 'int (*)(struct super_block *, void *, int)'
>  extern struct dentry *mount_bdev(struct file_system_type *fs_type,
>                        ^~~~~~~~~~
> drivers/staging/erofs/super.c:500:9: error: too few arguments to function 'mount_bdev'
>   return mount_bdev(fs_type, flags, dev_name,
>          ^~~~~~~~~~
> In file included from include/linux/buffer_head.h:12:0,
>                  from drivers/staging/erofs/super.c:14:
> include/linux/fs.h:2151:23: note: declared here
>  extern struct dentry *mount_bdev(struct file_system_type *fs_type,
>                        ^~~~~~~~~~
> drivers/staging/erofs/super.c: At top level:
> drivers/staging/erofs/super.c:518:20: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
>   .mount          = erofs_mount,
>                     ^~~~~~~~~~~
> drivers/staging/erofs/super.c:518:20: note: (near initialization for 'erofs_fs_type.mount')
> drivers/staging/erofs/super.c: In function 'erofs_remount':
> drivers/staging/erofs/super.c:630:12: error: 'MS_RDONLY' undeclared (first use in this function); did you mean 'IS_RDONLY'?
>   *flags |= MS_RDONLY;
>             ^~~~~~~~~
>             IS_RDONLY
> drivers/staging/erofs/super.c: At top level:
> drivers/staging/erofs/super.c:640:16: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
>   .remount_fs = erofs_remount,
>                 ^~~~~~~~~~~~~
> 
> Caused by various commits creating erofs in the staging tree interacting
> with various commits redoing the mount infrastructure in the vfs tree.
> 
> I have disabed CONFIG_EROFS_FS for now:

I will fix them as soon as possible, and test it with the latest linux-next code.
It seems caused by some vfs changes.

Thanks,
Gao Xiang