2015-12-09 01:19:21

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: build failure after merge of the vfs tree

Hi Al,

After merging the vfs tree, today's linux-next build (x86_64 allmodconfig)
failed like this:

In file included from fs/orangefs/acl.c:8:0:
fs/orangefs/acl.c: In function 'pvfs2_get_acl':
fs/orangefs/pvfs2-kernel.h:203:38: error: 'POSIX_ACL_XATTR_ACCESS' undeclared (first use in this function)
#define PVFS2_XATTR_NAME_ACL_ACCESS POSIX_ACL_XATTR_ACCESS
^
fs/orangefs/acl.c:21:9: note: in expansion of macro 'PVFS2_XATTR_NAME_ACL_ACCESS'
key = PVFS2_XATTR_NAME_ACL_ACCESS;
^
fs/orangefs/pvfs2-kernel.h:203:38: note: each undeclared identifier is reported only once for each function it appears in
#define PVFS2_XATTR_NAME_ACL_ACCESS POSIX_ACL_XATTR_ACCESS
^
fs/orangefs/acl.c:21:9: note: in expansion of macro 'PVFS2_XATTR_NAME_ACL_ACCESS'
key = PVFS2_XATTR_NAME_ACL_ACCESS;
^
fs/orangefs/pvfs2-kernel.h:204:38: error: 'POSIX_ACL_XATTR_DEFAULT' undeclared (first use in this function)
#define PVFS2_XATTR_NAME_ACL_DEFAULT POSIX_ACL_XATTR_DEFAULT
^
fs/orangefs/acl.c:24:9: note: in expansion of macro 'PVFS2_XATTR_NAME_ACL_DEFAULT'
key = PVFS2_XATTR_NAME_ACL_DEFAULT;
^
fs/orangefs/acl.c: In function 'pvfs2_set_acl':
fs/orangefs/pvfs2-kernel.h:203:38: error: 'POSIX_ACL_XATTR_ACCESS' undeclared (first use in this function)
#define PVFS2_XATTR_NAME_ACL_ACCESS POSIX_ACL_XATTR_ACCESS
^
fs/orangefs/acl.c:77:10: note: in expansion of macro 'PVFS2_XATTR_NAME_ACL_ACCESS'
name = PVFS2_XATTR_NAME_ACL_ACCESS;
^
fs/orangefs/pvfs2-kernel.h:204:38: error: 'POSIX_ACL_XATTR_DEFAULT' undeclared (first use in this function)
#define PVFS2_XATTR_NAME_ACL_DEFAULT POSIX_ACL_XATTR_DEFAULT
^
fs/orangefs/acl.c:101:10: note: in expansion of macro 'PVFS2_XATTR_NAME_ACL_DEFAULT'
name = PVFS2_XATTR_NAME_ACL_DEFAULT;
^

Caused by commit

97d79299223b ("posix acls: Remove duplicate xattr name definitions")

interacting with the addition of orangefs in the orangefs tree.

I applied this merge fix patch:

From: Stephen Rothwell <[email protected]>
Date: Wed, 9 Dec 2015 12:13:37 +1100
Subject: [PATCH] orangefs: update for POSIX ACL name changes

Signed-off-by: Stephen Rothwell <[email protected]>
---
fs/orangefs/pvfs2-kernel.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/orangefs/pvfs2-kernel.h b/fs/orangefs/pvfs2-kernel.h
index 4295e263e25b..9beeddbf8aa9 100644
--- a/fs/orangefs/pvfs2-kernel.h
+++ b/fs/orangefs/pvfs2-kernel.h
@@ -200,8 +200,8 @@ struct client_debug_mask {
#endif
#endif

-#define PVFS2_XATTR_NAME_ACL_ACCESS POSIX_ACL_XATTR_ACCESS
-#define PVFS2_XATTR_NAME_ACL_DEFAULT POSIX_ACL_XATTR_DEFAULT
+#define PVFS2_XATTR_NAME_ACL_ACCESS XATTR_NAME_POSIX_ACL_ACCESS
+#define PVFS2_XATTR_NAME_ACL_DEFAULT XATTR_NAME_POSIX_ACL_DEFAULT
#define PVFS2_XATTR_NAME_TRUSTED_PREFIX "trusted."
#define PVFS2_XATTR_NAME_DEFAULT_PREFIX ""

--
2.6.2

--
Cheers,
Stephen Rothwell [email protected]


2015-12-09 21:30:39

by Mike Marshall

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the vfs tree

Hi all...

I'm having a chicken-and-egg moment here...

I think "posix acls: Remove duplicate xattr name definitions" got into
linux-next after
Linus committed Linux 4.4-rc4.

Unless I merge my for-next with Linus' tree at the current (arbitrary)
point, I need to wait
until I can merge with rc5 before I can apply this fix.

I know Linus hates to get pull requests for stuff that's not based on
a discrete tag,
I'm not sure what's appropriate for linux-next... ?

-Mike

On Tue, Dec 8, 2015 at 8:19 PM, Stephen Rothwell <[email protected]> wrote:
> Hi Al,
>
> After merging the vfs tree, today's linux-next build (x86_64 allmodconfig)
> failed like this:
>
> In file included from fs/orangefs/acl.c:8:0:
> fs/orangefs/acl.c: In function 'pvfs2_get_acl':
> fs/orangefs/pvfs2-kernel.h:203:38: error: 'POSIX_ACL_XATTR_ACCESS' undeclared (first use in this function)
> #define PVFS2_XATTR_NAME_ACL_ACCESS POSIX_ACL_XATTR_ACCESS
> ^
> fs/orangefs/acl.c:21:9: note: in expansion of macro 'PVFS2_XATTR_NAME_ACL_ACCESS'
> key = PVFS2_XATTR_NAME_ACL_ACCESS;
> ^
> fs/orangefs/pvfs2-kernel.h:203:38: note: each undeclared identifier is reported only once for each function it appears in
> #define PVFS2_XATTR_NAME_ACL_ACCESS POSIX_ACL_XATTR_ACCESS
> ^
> fs/orangefs/acl.c:21:9: note: in expansion of macro 'PVFS2_XATTR_NAME_ACL_ACCESS'
> key = PVFS2_XATTR_NAME_ACL_ACCESS;
> ^
> fs/orangefs/pvfs2-kernel.h:204:38: error: 'POSIX_ACL_XATTR_DEFAULT' undeclared (first use in this function)
> #define PVFS2_XATTR_NAME_ACL_DEFAULT POSIX_ACL_XATTR_DEFAULT
> ^
> fs/orangefs/acl.c:24:9: note: in expansion of macro 'PVFS2_XATTR_NAME_ACL_DEFAULT'
> key = PVFS2_XATTR_NAME_ACL_DEFAULT;
> ^
> fs/orangefs/acl.c: In function 'pvfs2_set_acl':
> fs/orangefs/pvfs2-kernel.h:203:38: error: 'POSIX_ACL_XATTR_ACCESS' undeclared (first use in this function)
> #define PVFS2_XATTR_NAME_ACL_ACCESS POSIX_ACL_XATTR_ACCESS
> ^
> fs/orangefs/acl.c:77:10: note: in expansion of macro 'PVFS2_XATTR_NAME_ACL_ACCESS'
> name = PVFS2_XATTR_NAME_ACL_ACCESS;
> ^
> fs/orangefs/pvfs2-kernel.h:204:38: error: 'POSIX_ACL_XATTR_DEFAULT' undeclared (first use in this function)
> #define PVFS2_XATTR_NAME_ACL_DEFAULT POSIX_ACL_XATTR_DEFAULT
> ^
> fs/orangefs/acl.c:101:10: note: in expansion of macro 'PVFS2_XATTR_NAME_ACL_DEFAULT'
> name = PVFS2_XATTR_NAME_ACL_DEFAULT;
> ^
>
> Caused by commit
>
> 97d79299223b ("posix acls: Remove duplicate xattr name definitions")
>
> interacting with the addition of orangefs in the orangefs tree.
>
> I applied this merge fix patch:
>
> From: Stephen Rothwell <[email protected]>
> Date: Wed, 9 Dec 2015 12:13:37 +1100
> Subject: [PATCH] orangefs: update for POSIX ACL name changes
>
> Signed-off-by: Stephen Rothwell <[email protected]>
> ---
> fs/orangefs/pvfs2-kernel.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/orangefs/pvfs2-kernel.h b/fs/orangefs/pvfs2-kernel.h
> index 4295e263e25b..9beeddbf8aa9 100644
> --- a/fs/orangefs/pvfs2-kernel.h
> +++ b/fs/orangefs/pvfs2-kernel.h
> @@ -200,8 +200,8 @@ struct client_debug_mask {
> #endif
> #endif
>
> -#define PVFS2_XATTR_NAME_ACL_ACCESS POSIX_ACL_XATTR_ACCESS
> -#define PVFS2_XATTR_NAME_ACL_DEFAULT POSIX_ACL_XATTR_DEFAULT
> +#define PVFS2_XATTR_NAME_ACL_ACCESS XATTR_NAME_POSIX_ACL_ACCESS
> +#define PVFS2_XATTR_NAME_ACL_DEFAULT XATTR_NAME_POSIX_ACL_DEFAULT
> #define PVFS2_XATTR_NAME_TRUSTED_PREFIX "trusted."
> #define PVFS2_XATTR_NAME_DEFAULT_PREFIX ""
>
> --
> 2.6.2
>
> --
> Cheers,
> Stephen Rothwell [email protected]

2015-12-09 22:20:28

by Stephen Rothwell

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the vfs tree

Hi Mike,

On Wed, 9 Dec 2015 16:30:34 -0500 Mike Marshall <[email protected]> wrote:
>
> I'm having a chicken-and-egg moment here...

not really ...

> I think "posix acls: Remove duplicate xattr name definitions" got into
> linux-next after
> Linus committed Linux 4.4-rc4.

Yes

> Unless I merge my for-next with Linus' tree at the current (arbitrary)
> point, I need to wait
> until I can merge with rc5 before I can apply this fix.
>
> I know Linus hates to get pull requests for stuff that's not based on
> a discrete tag,
> I'm not sure what's appropriate for linux-next... ?

That commit is *not* in Linus' tree and won't be until the next merge
window. There is nothing you can do about it until then. I will carry
the merge resolution patch in linus-next and then someone needs to let
Linus know what needs to be done when the latter of the two trees is
merged into his. This is pretty standard when there is a conflict like
this that cannot be automatically resolved by git.

OK, I wrote all that and then I realised that the preferred names
(XATTR_NAME_POSIX_ACL_..) have been in Linus' tree for a long time (in
include/uapi/linux/xattr.h), so you could just change the orangefs tree
to use those already. i.e. my patch should apply cleanly to the
orangefs tree and build and work correctly independently of the vfs
tree change (I think).

BTW, there is also a section just above the bit this patch affects that
could be removed completely (it has "#if 0" around it).
--
Cheers,
Stephen Rothwell [email protected]

2015-12-09 22:53:53

by Andreas Grünbacher

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the vfs tree

2015-12-09 23:20 GMT+01:00 Stephen Rothwell <[email protected]>:
> OK, I wrote all that and then I realised that the preferred names
> (XATTR_NAME_POSIX_ACL_..) have been in Linus' tree for a long time (in
> include/uapi/linux/xattr.h), so you could just change the orangefs tree
> to use those already. i.e. my patch should apply cleanly to the
> orangefs tree and build and work correctly independently of the vfs
> tree change (I think).

Yes, I think that would be best.

Thanks, in particular for all the linux-next work!

Andreas