Skip to contentSkip to conversation

staging: erofs: disable compiling temporarile

PATCH Superseded Chao Yu 4 participants 10 messages Aug 2, 2018 – Aug 7, 2018 Staging

lore
Share & tools
lore

Chao Yu

author
#0 lore raw

PATCH v3 1/1 staging: erofs: disable compiling temporarile

From: Chao Yu <[email protected]>

As Stephen Rothwell reported:

"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:"

The reason of compiling error is:

Since -next collects and merges developing patches including common vfs stuff from multi-trees, but those patches didn't cover erofs, such as:

('vfs: Suppress MS_* flag defs within the kernel unless explicitly enabled")
https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git/commit/?h=for-next&id=109b45090d7d3ce2797bb1ef7f70eead5bfe0ff3

("vfs: Require specification of size of mount data for internal mounts")
https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git/commit/?h=for-next&id=0a191e4505a4f255e6513b49426213da69bf0e80

Above vfs related patches has not been merged in staging tree, if we submit those erofs patches to staging mailing list and after including them in staging-{test,nexts} tree, it can easily cause compiling error.

We worked out some patches to adjust those vfs change, but now we just submit them to -next tree temporarily to avoid compiling error.

For potentail conflict in between erofs and vfs changes in incoming merge window, Stephen suggested that we can disable CONFIG_EROFS_FS temporarily to pass merge window, and after that we can do restore by reenabling CONFIG_EROFS_FS and applying those fixing patches. Also Greg confirmed this solution.

So, let's disable compiling erofs for a while.

Suggested-by Stephen Rothwell <sfr at canb.auug.org.au>
Signed-off-by Gao Xiang <gaoxiang25 at huawei.com>
Reviewed-by Gao Xiang <gaoxiang25 at huawei.com>
Signed-off-by Chao Yu <yuchao0 at huawei.com>

---
v3: remain "depends on BLOCK".

 drivers/staging/erofs/Kconfig | 1 +
 1 file changed, 1 insertion(+)
drivers/staging/erofs/Kconfig +1 -0
index 663b755bf2fb..b37d994aa687 100644
@@ -3,6 +3,7 @@
 config EROFS_FS
 	tristate "EROFS filesystem support"
 	depends on BLOCK
+	depends on BROKEN
 	help
 	  EROFS(Enhanced Read-Only File System) is a lightweight
 	  read-only file system with modern designs (eg. page-sized
Signature · 1 line
2.18.0
maintainer
#1 lore raw
Quoted 94 lines · Chao Yu

From: Chao Yu <yuchao0 at huawei.com>

As Stephen Rothwell reported:

"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:"

The reason of compiling error is:

Since -next collects and merges developing patches including common vfs stuff from multi-trees, but those patches didn't cover erofs, such as:

('vfs: Suppress MS_* flag defs within the kernel unless explicitly enabled")
https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git/commit/?h=for-next&id=109b45090d7d3ce2797bb1ef7f70eead5bfe0ff3

("vfs: Require specification of size of mount data for internal mounts")
https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git/commit/?h=for-next&id=0a191e4505a4f255e6513b49426213da69bf0e80

Above vfs related patches has not been merged in staging tree, if we submit those erofs patches to staging mailing list and after including them in staging-{test,nexts} tree, it can easily cause compiling error.

We worked out some patches to adjust those vfs change, but now we just submit them to -next tree temporarily to avoid compiling error.

For potentail conflict in between erofs and vfs changes in incoming merge window, Stephen suggested that we can disable CONFIG_EROFS_FS temporarily to pass merge window, and after that we can do restore by reenabling CONFIG_EROFS_FS and applying those fixing patches. Also Greg confirmed this solution.

So, let's disable compiling erofs for a while.

Suggested-by Stephen Rothwell <sfr at canb.auug.org.au>
Signed-off-by Gao Xiang <gaoxiang25 at huawei.com>
Reviewed-by Gao Xiang <gaoxiang25 at huawei.com>
Signed-off-by Chao Yu <yuchao0 at huawei.com>

---
v3: remain "depends on BLOCK".

 drivers/staging/erofs/Kconfig | 1 +
 1 file changed, 1 insertion(+)
drivers/staging/erofs/Kconfig +0 -0
index 663b755bf2fb..b37d994aa687 100644

drivers/staging/erofs/Kconfig line 9

Quoted 7 lines
drivers/staging/erofs/Kconfig +1 -0
@@ -3,6 +3,7 @@
 config EROFS_FS
 	tristate "EROFS filesystem support"
 	depends on BLOCK
+	depends on BROKEN
 	help
 	  EROFS(Enhanced Read-Only File System) is a lightweight
 	  read-only file system with modern designs (eg. page-sized

Sorry, I already took the first version in my tree. Don't worry about it for now you can fix this up after 4.19-rc1 is out when we enable the filesystem again.

thanks,

greg k-h

#2 lore raw

Hi Greg,

Quoted 4 lines · Greg KH

Sorry, I already took the first version in my tree. Don't worry about it for now you can fix this up after 4.19-rc1 is out when we enable the filesystem again.

OK, We will fix it and enable erofs after 4.19-rc1 is out. :)

Thanks,
Gao Xiang

Quoted 3 lines

thanks,

greg k-h

#3 lore raw
In reply to Greg KH
Quoted 90 lines · Greg KH
Quoted 89 lines · Chao Yu

From: Chao Yu <yuchao0 at huawei.com>

As Stephen Rothwell reported:

"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:"

The reason of compiling error is:

Since -next collects and merges developing patches including common vfs stuff from multi-trees, but those patches didn't cover erofs, such as:

('vfs: Suppress MS_* flag defs within the kernel unless explicitly enabled")
https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git/commit/?h=for-next&id=109b45090d7d3ce2797bb1ef7f70eead5bfe0ff3

("vfs: Require specification of size of mount data for internal mounts")
https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git/commit/?h=for-next&id=0a191e4505a4f255e6513b49426213da69bf0e80

Above vfs related patches has not been merged in staging tree, if we submit those erofs patches to staging mailing list and after including them in staging-{test,nexts} tree, it can easily cause compiling error.

We worked out some patches to adjust those vfs change, but now we just submit them to -next tree temporarily to avoid compiling error.

For potentail conflict in between erofs and vfs changes in incoming merge window, Stephen suggested that we can disable CONFIG_EROFS_FS temporarily to pass merge window, and after that we can do restore by reenabling CONFIG_EROFS_FS and applying those fixing patches. Also Greg confirmed this solution.

So, let's disable compiling erofs for a while.

Suggested-by Stephen Rothwell <sfr at canb.auug.org.au>
Signed-off-by Gao Xiang <gaoxiang25 at huawei.com>
Reviewed-by Gao Xiang <gaoxiang25 at huawei.com>
Signed-off-by Chao Yu <yuchao0 at huawei.com>

---
v3: remain "depends on BLOCK".

 drivers/staging/erofs/Kconfig | 1 +
 1 file changed, 1 insertion(+)
Quoted 14 lines

drivers/staging/erofs/Kconfig line 9

Quoted 12 lines
drivers/staging/erofs/Kconfig +1 -0
index 663b755bf2fb..b37d994aa687 100644
@@ -3,6 +3,7 @@
 config EROFS_FS
 	tristate "EROFS filesystem support"
 	depends on BLOCK
+	depends on BROKEN
 	help
 	  EROFS(Enhanced Read-Only File System) is a lightweight
 	  read-only file system with modern designs (eg. page-sized

Sorry, I already took the first version in my tree. Don't worry about

I can see it in staging tree, thanks for quickly applying.

Quoted 2 lines

it for now you can fix this up after 4.19-rc1 is out when we enable the filesystem again.

OK, we will prepare for it.

Thanks,

Quoted 7 lines

thanks,

greg k-h

.

#4 lore raw

PATCH v3 1/1 staging: erofs: disable compiling temporarile

In reply to Greg KH

Hi Greg,

Quoted 1 line · Greg KH

Sorry, I already took the first version in my tree. Don't worry about

For staging-{test,next} maintaining thing, before merge window, if we want to remove or replace one merged patch in staging tree, what we can do is:
a. ask you for help to remove/replace it directly; or
b. submit a revert-patch first, and then send another fixed patch.

What kind of way we should use or you prefer to?

Thanks,

Quoted 9 lines

it for now you can fix this up after 4.19-rc1 is out when we enable the filesystem again.

thanks,

greg k-h

.

maintainer
#5 lore raw

PATCH v3 1/1 staging: erofs: disable compiling temporarile

Quoted 9 lines · Chao Yu

Hi Greg,

Quoted 1 line · Greg KH

Sorry, I already took the first version in my tree. Don't worry about

For staging-{test,next} maintaining thing, before merge window, if we want to remove or replace one merged patch in staging tree, what we can do is:
a. ask you for help to remove/replace it directly; or
b. submit a revert-patch first, and then send another fixed patch.

Or better yet:
- submit a follow-on patch that fixes things up properly.

thanks

greg k-h

#6 lore raw

PATCH v3 1/1 staging: erofs: disable compiling temporarile

Quoted 6 lines · Greg KH
Quoted 5 lines · Chao Yu

Hi Greg,

Quoted 1 line · Greg KH

Sorry, I already took the first version in my tree. Don't worry about

Quoted 7 lines
Quoted 4 lines

For staging-{test,next} maintaining thing, before merge window, if we want to remove or replace one merged patch in staging tree, what we can do is:
a. ask you for help to remove/replace it directly; or
b. submit a revert-patch first, and then send another fixed patch.

Or better yet:
- submit a follow-on patch that fixes things up properly.

Agreed, that will be more efficient, we will let erofs guys keep that rule. :)

I found that erofs-related patch was merged a little bit quickly, so that we may miss Reviewed-by tag in that merged patch due to reviewer replied to the patch late.

Out of curiosity, is there any rule for picking up and merging patches in staging-{test,next} tree? like merging the patch if there is at least one guy replies an ACK or no one object for some time?

Thanks,

Quoted 7 lines

thanks

greg k-h

.

maintainer
#7 lore raw

PATCH v3 1/1 staging: erofs: disable compiling temporarile

Quoted 6 lines · Chao Yu

I found that erofs-related patch was merged a little bit quickly, so that we may miss Reviewed-by tag in that merged patch due to reviewer replied to the patch late.

Out of curiosity, is there any rule for picking up and merging patches in staging-{test,next} tree? like merging the patch if there is at least one guy replies an ACK or no one object for some time?

That's what normally happens, I just was processing staging patches very quickly for a few days and got to them before you were able to review it. That is not the normal state of things :)

And remember, anyone can end up merging changes to your code, being a maintainers is not a "gatekeeper", it is a role where you are responsible for the code, but if other "responsible" people change it, that is also fine.

thanks,

greg k-h

#8 lore raw

PATCH v3 1/1 staging: erofs: disable compiling temporarile

Hi Greg,

Quoted 11 lines · Greg KH
Quoted 6 lines · Chao Yu

I found that erofs-related patch was merged a little bit quickly, so that we may miss Reviewed-by tag in that merged patch due to reviewer replied to the patch late.

Out of curiosity, is there any rule for picking up and merging patches in staging-{test,next} tree? like merging the patch if there is at least one guy replies an ACK or no one object for some time?

That's what normally happens, I just was processing staging patches very quickly for a few days and got to them before you were able to review it. That is not the normal state of things :)

Actually we are guessing the merging magic from Greg these days :)

Quoted 5 lines

And remember, anyone can end up merging changes to your code, being a maintainers is not a "gatekeeper", it is a role where you are responsible for the code, but if other "responsible" people change it, that is also fine.

OK, I get the merging policy, and I totally agree and support it. And yes, any patch from anyone are welcome.
It is a nice thing which means someone is interested in it, especially for the filesystem actively under development. :)

We are quite happy more people could blame us, and join us to improve it (although currently source code of mkfs is missing for some business reasons, I am using my best effort to push this forward), and we will tell guys who are interested in erofs what we are doing now (what we are focusing on) and what we will do next regularly.

Thanks,
Gao Xiang

Quoted 5 lines

thanks,

greg k-h

author
#9 lore raw

PATCH v3 1/1 staging: erofs: disable compiling temporarile

In reply to Greg KH

Hi Greg,

Quoted 11 lines · Greg KH
Quoted 6 lines · Chao Yu

I found that erofs-related patch was merged a little bit quickly, so that we may miss Reviewed-by tag in that merged patch due to reviewer replied to the patch late.

Out of curiosity, is there any rule for picking up and merging patches in staging-{test,next} tree? like merging the patch if there is at least one guy replies an ACK or no one object for some time?

That's what normally happens, I just was processing staging patches very quickly for a few days and got to them before you were able to review it. That is not the normal state of things :)

Alright, I just try to know and adjust the running rule of staging tree, and committing habit, don't mind those question of newcomers.

Quoted 5 lines

And remember, anyone can end up merging changes to your code, being a maintainers is not a "gatekeeper", it is a role where you are responsible for the code, but if other "responsible" people change it, that is also fine.

Yeah, I will remember that, thanks for letting me know the point of maintaining codes.

I and Xiang are not against code changing from others, instead, we are open and welcome for any changes to keep erofs active, make it improved and become better. Anyway, please continue helping to review and commit erofs patches from different developers, appreciating for that. ;)

Thanks,

Quoted 5 lines

thanks,

greg k-h