[-- Attachment #1: Type: text/plain, Size: 573 bytes --] Hi David, After merging the xfs tree, today's linux-next build (powerpc ppc64_defconfig) failed like this: fs/xfs/xfs_inode_item.c: In function 'xfs_inode_item_format': fs/xfs/xfs_inode_item.c:319: error: 'nrecs' undeclared (first use in this function) Caused by commit 0fd7275cc42ab734eaa1a2c747e65479bd1e42af ("xfs: fix gcc 4.6 set but not read and unused statement warnings"). I have used the version of the xfs tree from next-20100723 for today. -- Cheers, Stephen Rothwell sfr@canb.auug.org.au http://www.canb.auug.org.au/~sfr/ [-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]
On Mon, Jul 26, 2010 at 11:51:07AM +1000, Stephen Rothwell wrote: > Hi David, > > After merging the xfs tree, today's linux-next build (powerpc ppc64_defconfig) > failed like this: > > fs/xfs/xfs_inode_item.c: In function 'xfs_inode_item_format': > fs/xfs/xfs_inode_item.c:319: error: 'nrecs' undeclared (first use in this function) > > Caused by commit 0fd7275cc42ab734eaa1a2c747e65479bd1e42af ("xfs: fix gcc > 4.6 set but not read and unused statement warnings"). Can you check the following patch fixes the problem? Cheers, Dave. -- Dave Chinner david@fromorbit.com xfs: fix big endian build From: Dave Chinner <dchinner@redhat.com> Commit 0fd7275cc42ab734eaa1a2c747e65479bd1e42af ("xfs: fix gcc 4.6 set but not read and unused statement warnings") failed to convert some code inside XFS_NATIVE_HOST (big endian host code only) and hence fails to build on such machines. Fix it. Signed-off-by: Dave Chinner <dchinner@redhat.com> --- fs/xfs/xfs_inode_item.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/fs/xfs/xfs_inode_item.c b/fs/xfs/xfs_inode_item.c index 2d6fcfd..016b60d 100644 --- a/fs/xfs/xfs_inode_item.c +++ b/fs/xfs/xfs_inode_item.c @@ -316,7 +316,8 @@ xfs_inode_item_format( ASSERT((ip->i_df.if_bytes / (uint)sizeof(xfs_bmbt_rec_t)) > 0); #ifdef XFS_NATIVE_HOST - if (nrecs == ip->i_d.di_nextents) { + if (ip->i_d.di_nextents == ip->i_df.if_bytes / + (uint)sizeof(xfs_bmbt_rec_t)) { /* * There are no delayed allocation * extents, so just point to the
[-- Attachment #1: Type: text/plain, Size: 310 bytes --] Hi Dave, On Mon, 26 Jul 2010 13:54:42 +1000 Dave Chinner <david@fromorbit.com> wrote: > > Can you check the following patch fixes the problem? That patch fixes the compilation problem for me. -- Cheers, Stephen Rothwell sfr@canb.auug.org.au http://www.canb.auug.org.au/~sfr/ [-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]
Hi all, [I tried to cc this to Johannes Weiner <hannes@cmpxchg.org>, but that domain does not current resolve :-(] After merging the xfs tree, today's linux-next build (powerpc ppc64_defconfig) failed like this: fs/xfs/linux-2.6/xfs_sync.c:671: error: redefinition of '__xfs_inode_clear_reclaim_tag' fs/xfs/linux-2.6/xfs_sync.c:623: note: previous definition of '__xfs_inode_clear_reclaim_tag' was here Caused by a mismerge between commit 081003fff467ea0e727f66d5d435b4f473a789b3 ("xfs: properly account for reclaimed inodes") from Linus' tree and commit 5ae4ef8313c85f443202aa04405fe178e6138a6a ("xfs: properly account for reclaimed inodes") from the xfs tree. The new function __xfs_inode_clear_reclaim_tag() was inserted in different places in each of those commits, so git inserted them both. I applied the following merge fix patch: From: Stephen Rothwell <sfr@canb.auug.org.au> Date: Fri, 8 Oct 2010 11:00:58 +1100 Subject: [PATCH] xfs: fix up mismerge of __xfs_inode_clear_reclaim_tag Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> --- fs/xfs/linux-2.6/xfs_sync.c | 11 ----------- 1 files changed, 0 insertions(+), 11 deletions(-) diff --git a/fs/xfs/linux-2.6/xfs_sync.c b/fs/xfs/linux-2.6/xfs_sync.c index 574fb71..37d3325 100644 --- a/fs/xfs/linux-2.6/xfs_sync.c +++ b/fs/xfs/linux-2.6/xfs_sync.c @@ -667,17 +667,6 @@ xfs_reclaim_inode_grab( return 0; } -void -__xfs_inode_clear_reclaim_tag( - xfs_mount_t *mp, - xfs_perag_t *pag, - xfs_inode_t *ip) -{ - radix_tree_tag_clear(&pag->pag_ici_root, - XFS_INO_TO_AGINO(mp, ip->i_ino), XFS_ICI_RECLAIM_TAG); - __xfs_inode_clear_reclaim(pag, ip); -} - /* * Inodes in different states need to be treated differently, and the return * value of xfs_iflush is not sufficient to get this right. The following table -- 1.7.1 -- Cheers, Stephen Rothwell sfr@canb.auug.org.au http://www.canb.auug.org.au/~sfr/
[-- Attachment #1: Type: text/plain, Size: 451 bytes --] Hi all, After merging the xfs tree, today's linux-next build (powerpc ppc64_defconfig) failed like this: ERROR: ".xfs_extent_busy_trim" [fs/xfs/xfs.ko] undefined! Caused by commit e459df5b5b93 ("xfs: move busy extent handling to it's own file") (and aided by 425dcd6c2289 "xfs: clean up busy extent naming"). I have used the xfs tree from next-20120508 for today. -- Cheers, Stephen Rothwell sfr@canb.auug.org.au [-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
On Thu, May 10, 2012 at 01:01:34PM +1000, Stephen Rothwell wrote:
> After merging the xfs tree, today's linux-next build (powerpc
> ppc64_defconfig) failed like this:
>
> ERROR: ".xfs_extent_busy_trim" [fs/xfs/xfs.ko] undefined!
>
> Caused by commit e459df5b5b93 ("xfs: move busy extent handling to it's
> own file") (and aided by 425dcd6c2289 "xfs: clean up busy extent naming").
>
> I have used the xfs tree from next-20120508 for today.
Thanks Stephen. The following should resolve the issue.
Regards,
Ben
xfs: make xfs_extent_busy_trim not static
Commit e459df5, 'xfs: move busy extent handling to it's own file'
moved some code from xfs_alloc.c into xfs_extent_busy.c for
convenience in userspace code merges. One of the functions moved is
xfs_extent_busy_trim (formerly xfs_alloc_busy_trim) which is defined
STATIC. Unfortunately this function is still used in xfs_alloc.c, and
this results in an undefined symbol in xfs.ko.
Make xfs_extent_busy_trim not static and add its prototype to
xfs_extent_busy.h.
Signed-off-by: Ben Myers <bpm@sgi.com>
Index: xfs/fs/xfs/xfs_alloc.c
===================================================================
--- xfs.orig/fs/xfs/xfs_alloc.c
+++ xfs/fs/xfs/xfs_alloc.c
@@ -47,8 +47,6 @@ STATIC int xfs_alloc_ag_vextent_near(xfs
STATIC int xfs_alloc_ag_vextent_size(xfs_alloc_arg_t *);
STATIC int xfs_alloc_ag_vextent_small(xfs_alloc_arg_t *,
xfs_btree_cur_t *, xfs_agblock_t *, xfs_extlen_t *, int *);
-STATIC void xfs_extent_busy_trim(struct xfs_alloc_arg *,
- xfs_agblock_t, xfs_extlen_t, xfs_agblock_t *, xfs_extlen_t *);
/*
* Lookup the record equal to [bno, len] in the btree given by cur.
Index: xfs/fs/xfs/xfs_extent_busy.c
===================================================================
--- xfs.orig/fs/xfs/xfs_extent_busy.c
+++ xfs/fs/xfs/xfs_extent_busy.c
@@ -345,7 +345,7 @@ restart:
* args->minlen no suitable extent could be found, and the higher level
* code needs to force out the log and retry the allocation.
*/
-STATIC void
+void
xfs_extent_busy_trim(
struct xfs_alloc_arg *args,
xfs_agblock_t bno,
Index: xfs/fs/xfs/xfs_extent_busy.h
===================================================================
--- xfs.orig/fs/xfs/xfs_extent_busy.h
+++ xfs/fs/xfs/xfs_extent_busy.h
@@ -54,6 +54,10 @@ void
xfs_extent_busy_reuse(struct xfs_mount *mp, xfs_agnumber_t agno,
xfs_agblock_t fbno, xfs_extlen_t flen, bool userdata);
+void
+xfs_extent_busy_trim(struct xfs_alloc_arg *args, xfs_agblock_t bno,
+ xfs_extlen_t len, xfs_agblock_t *rbno, xfs_extlen_t *rlen);
+
int
xfs_extent_busy_ag_cmp(void *priv, struct list_head *a, struct list_head *b);
On 05/10/12 13:32, Ben Myers wrote:
> Signed-off-by: Ben Myers<bpm@sgi.com>
>
> Index: xfs/fs/xfs/xfs_alloc.c
> ===================================================================
> --- xfs.orig/fs/xfs/xfs_alloc.c
> +++ xfs/fs/xfs/xfs_alloc.c
> @@ -47,8 +47,6 @@ STATIC int xfs_alloc_ag_vextent_near(xfs
> STATIC int xfs_alloc_ag_vextent_size(xfs_alloc_arg_t *);
> STATIC int xfs_alloc_ag_vextent_small(xfs_alloc_arg_t *,
> xfs_btree_cur_t *, xfs_agblock_t *, xfs_extlen_t *, int *);
> -STATIC void xfs_extent_busy_trim(struct xfs_alloc_arg *,
> - xfs_agblock_t, xfs_extlen_t, xfs_agblock_t *, xfs_extlen_t *);
>
> /*
> * Lookup the record equal to [bno, len] in the btree given by cur.
> Index: xfs/fs/xfs/xfs_extent_busy.c
> ===================================================================
> --- xfs.orig/fs/xfs/xfs_extent_busy.c
> +++ xfs/fs/xfs/xfs_extent_busy.c
> @@ -345,7 +345,7 @@ restart:
> * args->minlen no suitable extent could be found, and the higher level
> * code needs to force out the log and retry the allocation.
> */
> -STATIC void
> +void
> xfs_extent_busy_trim(
> struct xfs_alloc_arg *args,
> xfs_agblock_t bno,
> Index: xfs/fs/xfs/xfs_extent_busy.h
> ===================================================================
> --- xfs.orig/fs/xfs/xfs_extent_busy.h
> +++ xfs/fs/xfs/xfs_extent_busy.h
> @@ -54,6 +54,10 @@ void
> xfs_extent_busy_reuse(struct xfs_mount *mp, xfs_agnumber_t agno,
> xfs_agblock_t fbno, xfs_extlen_t flen, bool userdata);
>
> +void
> +xfs_extent_busy_trim(struct xfs_alloc_arg *args, xfs_agblock_t bno,
> + xfs_extlen_t len, xfs_agblock_t *rbno, xfs_extlen_t *rlen);
> +
> int
> xfs_extent_busy_ag_cmp(void *priv, struct list_head *a, struct list_head *b);
>
>
Hmmm, I saw that before. I have been hand patching that to test.
Looks good.
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
On Thu, May 10, 2012 at 01:36:14PM -0500, Mark Tinguely wrote:
> On 05/10/12 13:32, Ben Myers wrote:
>
> >Signed-off-by: Ben Myers<bpm@sgi.com>
> >
> >Index: xfs/fs/xfs/xfs_alloc.c
> >===================================================================
> >--- xfs.orig/fs/xfs/xfs_alloc.c
> >+++ xfs/fs/xfs/xfs_alloc.c
> >@@ -47,8 +47,6 @@ STATIC int xfs_alloc_ag_vextent_near(xfs
> > STATIC int xfs_alloc_ag_vextent_size(xfs_alloc_arg_t *);
> > STATIC int xfs_alloc_ag_vextent_small(xfs_alloc_arg_t *,
> > xfs_btree_cur_t *, xfs_agblock_t *, xfs_extlen_t *, int *);
> >-STATIC void xfs_extent_busy_trim(struct xfs_alloc_arg *,
> >- xfs_agblock_t, xfs_extlen_t, xfs_agblock_t *, xfs_extlen_t *);
> >
> > /*
> > * Lookup the record equal to [bno, len] in the btree given by cur.
> >Index: xfs/fs/xfs/xfs_extent_busy.c
> >===================================================================
> >--- xfs.orig/fs/xfs/xfs_extent_busy.c
> >+++ xfs/fs/xfs/xfs_extent_busy.c
> >@@ -345,7 +345,7 @@ restart:
> > * args->minlen no suitable extent could be found, and the higher level
> > * code needs to force out the log and retry the allocation.
> > */
> >-STATIC void
> >+void
> > xfs_extent_busy_trim(
> > struct xfs_alloc_arg *args,
> > xfs_agblock_t bno,
> >Index: xfs/fs/xfs/xfs_extent_busy.h
> >===================================================================
> >--- xfs.orig/fs/xfs/xfs_extent_busy.h
> >+++ xfs/fs/xfs/xfs_extent_busy.h
> >@@ -54,6 +54,10 @@ void
> > xfs_extent_busy_reuse(struct xfs_mount *mp, xfs_agnumber_t agno,
> > xfs_agblock_t fbno, xfs_extlen_t flen, bool userdata);
> >
> >+void
> >+xfs_extent_busy_trim(struct xfs_alloc_arg *args, xfs_agblock_t bno,
> >+ xfs_extlen_t len, xfs_agblock_t *rbno, xfs_extlen_t *rlen);
> >+
> > int
> > xfs_extent_busy_ag_cmp(void *priv, struct list_head *a, struct list_head *b);
> >
> >
>
> Hmmm, I saw that before. I have been hand patching that to test.
>
> Looks good.
>
> Reviewed-by: Mark Tinguely <tinguely@sgi.com>
CONFIG_XFS_DEBUG clears the #define of STATIC. That's where this went off the
rails.
Thanks,
Ben
[-- Attachment #1: Type: text/plain, Size: 417 bytes --] Hi all, After merging the xfs tree, today's linux-next build (powerpc ppc64_defconfig) failed like this: ERROR: "xfs_dquot_buf_ops" [fs/xfs/xfs.ko] undefined! Probably caused by commit 3fe58f30b4fc ("xfs: add CRC checks for quota blocks"). I have used the xfs tree from next-20130426 for today. -- Cheers, Stephen Rothwell sfr@canb.auug.org.au http://www.canb.auug.org.au/~sfr/ [-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
On Mon, Apr 29, 2013 at 11:29:43AM +1000, Stephen Rothwell wrote: > Hi all, > > After merging the xfs tree, today's linux-next build (powerpc > ppc64_defconfig) failed like this: > > ERROR: "xfs_dquot_buf_ops" [fs/xfs/xfs.ko] undefined! > > Probably caused by commit 3fe58f30b4fc ("xfs: add CRC checks for quota > blocks"). > > I have used the xfs tree from next-20130426 for today. CONFIG_XFS_QUOTA=y will fix it. Or, alternatively, apply this patch: http://oss.sgi.com/pipermail/xfs/2013-April/025434.html Cheers, Dave. -- Dave Chinner david@fromorbit.com
Hey Stephen and Dave, On Mon, Apr 29, 2013 at 11:40:02AM +1000, Dave Chinner wrote: > On Mon, Apr 29, 2013 at 11:29:43AM +1000, Stephen Rothwell wrote: > > Hi all, > > > > After merging the xfs tree, today's linux-next build (powerpc > > ppc64_defconfig) failed like this: > > > > ERROR: "xfs_dquot_buf_ops" [fs/xfs/xfs.ko] undefined! > > > > Probably caused by commit 3fe58f30b4fc ("xfs: add CRC checks for quota > > blocks"). > > > > I have used the xfs tree from next-20130426 for today. > > CONFIG_XFS_QUOTA=y will fix it. > > Or, alternatively, apply this patch: > > http://oss.sgi.com/pipermail/xfs/2013-April/025434.html I applied this patch so it should be fixed today. Regards, Ben _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs
[-- Attachment #1: Type: text/plain, Size: 2069 bytes --] Hi all, After merging the xfs tree, today's linux-next build (powerpc ppc64_defconfig) failed like this: fs/xfs/xfs_file.c: In function 'xfs_file_dio_aio_write': fs/xfs/xfs_file.c:744:8: warning: passing argument 1 of 'mapping->a_ops->direct_IO' makes pointer from integer without a cast ret = mapping->a_ops->direct_IO(WRITE, iocb, &data, pos); ^ fs/xfs/xfs_file.c:744:8: note: expected 'struct kiocb *' but argument is of type 'long long unsigned int' fs/xfs/xfs_file.c:744:8: warning: passing argument 2 of 'mapping->a_ops->direct_IO' from incompatible pointer type fs/xfs/xfs_file.c:744:8: note: expected 'struct iov_iter *' but argument is of type 'struct kiocb *' fs/xfs/xfs_file.c:744:8: warning: passing argument 3 of 'mapping->a_ops->direct_IO' makes integer from pointer without a cast fs/xfs/xfs_file.c:744:8: note: expected 'loff_t' but argument is of type 'struct iov_iter *' fs/xfs/xfs_file.c:744:8: error: too many arguments to function 'mapping->a_ops->direct_IO' So, my merge resolution was not sufficient :-( Commit 22c6186ecea0 ("direct_IO: remove rw from a_ops->direct_IO()") removed the first argument from ->direct_IO(), so I added the following merge fix patch. From: Stephen Rothwell <sfr@canb.auug.org.au> Date: Mon, 20 Apr 2015 12:32:00 +1000 Subject: [PATCH] xfs: fix up for direct_IO API change Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> --- fs/xfs/xfs_file.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c index 0d5053fcd8c5..8121e75352ee 100644 --- a/fs/xfs/xfs_file.c +++ b/fs/xfs/xfs_file.c @@ -741,7 +741,7 @@ xfs_file_dio_aio_write( trace_xfs_file_direct_write(ip, count, iocb->ki_pos, 0); data = *from; - ret = mapping->a_ops->direct_IO(WRITE, iocb, &data, pos); + ret = mapping->a_ops->direct_IO(iocb, &data, pos); /* see generic_file_direct_write() for why this is necessary */ if (mapping->nrpages) { -- 2.1.4 -- Cheers, Stephen Rothwell sfr@canb.auug.org.au [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 819 bytes --]
Hi all, After merging the xfs tree, today's linux-next build (powerpc ppc64_defconfig) failed like this: ERROR: "xfs_rtbuf_ops" [fs/xfs/xfs.ko] undefined! Caused by commit ca4de5c7e86a ("xfs: RT bitmap and summary buffers need verifiers") CONFIG_XFS_RT is not set for this build. I have used the xfs tree from next-20160208 for today. -- Cheers, Stephen Rothwell
Dave just sent a patch to the xfs list to fix this, [PATCH] xfs: log recovery needs to be aware of CONFIG_XFS_RT now Thanks, -Eric On 2/8/16 6:17 PM, Stephen Rothwell wrote: > Hi all, > > After merging the xfs tree, today's linux-next build (powerpc > ppc64_defconfig) failed like this: > > ERROR: "xfs_rtbuf_ops" [fs/xfs/xfs.ko] undefined! > > Caused by commit > > ca4de5c7e86a ("xfs: RT bitmap and summary buffers need verifiers") > > CONFIG_XFS_RT is not set for this build. > > I have used the xfs tree from next-20160208 for today. > _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs
Hi Eric, On Mon, 8 Feb 2016 18:30:40 -0600 Eric Sandeen <sandeen@sandeen.net> wrote: > > Dave just sent a patch to the xfs list to fix this, > > [PATCH] xfs: log recovery needs to be aware of CONFIG_XFS_RT now Thanks. Hopefully it will be fixed in the xfs tree for linux-next tomorrow, then, -- Cheers, Stephen Rothwell _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs
[-- Attachment #1: Type: text/plain, Size: 1386 bytes --] Hi all, After merging the xfs tree, today's linux-next build (x86_64 allmodconfig) failed like this: fs/orangefs/file.c: In function 'orangefs_getflags': fs/orangefs/file.c:372:7: warning: assignment to 'long unsigned int *' from '__u64' {aka 'long long unsigned int'} makes pointer from integer without a cast [-Wint-conversion] uval = val; ^ fs/orangefs/file.c: In function 'orangefs_ioctl': fs/orangefs/file.c:381:24: error: implicit declaration of function 'file_ioctl'; did you mean 'file_path'? [-Werror=implicit-function-declaration] struct inode *inode = file_ioctl(file); ^~~~~~~~~~ file_path fs/orangefs/file.c:381:24: warning: initialization of 'struct inode *' from 'int' makes pointer from integer without a cast [-Wint-conversion] fs/orangefs/file.c:418:35: error: 'old_uval' undeclared (first use in this function); did you mean 'p4d_val'? ret = orangefs_getflags(inode, &old_uval); ^~~~~~~~ p4d_val fs/orangefs/file.c:418:35: note: each undeclared identifier is reported only once for each function it appears in Caused by commit de2baa49bbae ("vfs: create a generic checking and prep function for FS_IOC_SETFLAGS") I have used the xfs tree from next-20190628 for today. -- Cheers, Stephen Rothwell [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #1: Type: text/plain, Size: 4096 bytes --] Hi all, After merging the xfs tree, today's linux-next build (powerpc ppc64_defconfig) failed like this: fs/compat_ioctl.c: In function '__do_compat_sys_ioctl': fs/compat_ioctl.c:1056:2: error: case label not within a switch statement 1056 | case FICLONE: | ^~~~ fs/compat_ioctl.c:1057:2: error: case label not within a switch statement 1057 | case FICLONERANGE: | ^~~~ fs/compat_ioctl.c:1058:2: error: case label not within a switch statement 1058 | case FIDEDUPERANGE: | ^~~~ fs/compat_ioctl.c:1059:2: error: case label not within a switch statement 1059 | case FS_IOC_FIEMAP: | ^~~~ fs/compat_ioctl.c:1062:2: error: case label not within a switch statement 1062 | case FIBMAP: | ^~~~ fs/compat_ioctl.c:1063:2: error: case label not within a switch statement 1063 | case FIGETBSZ: | ^~~~ fs/compat_ioctl.c:1064:2: error: case label not within a switch statement 1064 | case FIONREAD: | ^~~~ fs/compat_ioctl.c:1066:4: error: break statement not within loop or switch 1066 | break; | ^~~~~ fs/compat_ioctl.c:1069:2: error: 'default' label not within a switch statement 1069 | default: | ^~~~~~~ fs/compat_ioctl.c:1078:3: error: break statement not within loop or switch 1078 | break; | ^~~~~ fs/compat_ioctl.c:1077:4: error: label 'do_ioctl' used but not defined 1077 | goto do_ioctl; | ^~~~ fs/compat_ioctl.c:1073:5: error: label 'out_fput' used but not defined 1073 | goto out_fput; | ^~~~ fs/compat_ioctl.c:1005:3: error: label 'out' used but not defined 1005 | goto out; | ^~~~ fs/compat_ioctl.c:1079:2: warning: no return statement in function returning non-void [-Wreturn-type] 1079 | } | ^ fs/compat_ioctl.c: At top level: fs/compat_ioctl.c:1081:2: error: expected identifier or '(' before 'if' 1081 | if (compat_ioctl_check_table(XFORM(cmd))) | ^~ fs/compat_ioctl.c:1084:2: warning: data definition has no type or storage class 1084 | error = do_ioctl_trans(cmd, arg, f.file); | ^~~~~ fs/compat_ioctl.c:1084:2: error: type defaults to 'int' in declaration of 'error' [-Werror=implicit-int] fs/compat_ioctl.c:1084:25: error: 'cmd' undeclared here (not in a function) 1084 | error = do_ioctl_trans(cmd, arg, f.file); | ^~~ fs/compat_ioctl.c:1084:30: error: 'arg' undeclared here (not in a function) 1084 | error = do_ioctl_trans(cmd, arg, f.file); | ^~~ fs/compat_ioctl.c:1084:35: error: 'f' undeclared here (not in a function); did you mean 'fd'? 1084 | error = do_ioctl_trans(cmd, arg, f.file); | ^ | fd fs/compat_ioctl.c:1085:2: error: expected identifier or '(' before 'if' 1085 | if (error == -ENOIOCTLCMD) | ^~ fs/compat_ioctl.c:1088:2: error: expected identifier or '(' before 'goto' 1088 | goto out_fput; | ^~~~ fs/compat_ioctl.c:1090:15: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token 1090 | found_handler: | ^ fs/compat_ioctl.c:1092:10: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token 1092 | do_ioctl: | ^ fs/compat_ioctl.c:1094:10: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token 1094 | out_fput: | ^ fs/compat_ioctl.c:1096:5: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token 1096 | out: | ^ fs/compat_ioctl.c:1098:1: error: expected identifier or '(' before '}' token 1098 | } | ^ fs/compat_ioctl.c:976:12: warning: 'compat_ioctl_check_table' defined but not used [-Wunused-function] 976 | static int compat_ioctl_check_table(unsigned int xcmd) | ^~~~~~~~~~~~~~~~~~~~~~~~ Caused by commit d5e20bfa0b77 ("fs: add generic UNRESVSP and ZERO_RANGE ioctl handlers") I have used the xfs tree from next-20191028 for today. -- Cheers, Stephen Rothwell [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 488 bytes --]
On Tue, Oct 29, 2019 at 10:11:51AM +1100, Stephen Rothwell wrote: > Hi all, > > After merging the xfs tree, today's linux-next build (powerpc > ppc64_defconfig) failed like this: <groan> Yeah, that's the same thing reported by the kbuild robot an hour ago. FWIW I pushed a fixed branch but I guess it's too late for today, oh well.... ...the root cause of course was the stray '}' in one of the commits, that I didn't catch because compat ioctls are hard. :( Sorry about the mess. --D > fs/compat_ioctl.c: In function '__do_compat_sys_ioctl': > fs/compat_ioctl.c:1056:2: error: case label not within a switch statement > 1056 | case FICLONE: > | ^~~~ > fs/compat_ioctl.c:1057:2: error: case label not within a switch statement > 1057 | case FICLONERANGE: > | ^~~~ > fs/compat_ioctl.c:1058:2: error: case label not within a switch statement > 1058 | case FIDEDUPERANGE: > | ^~~~ > fs/compat_ioctl.c:1059:2: error: case label not within a switch statement > 1059 | case FS_IOC_FIEMAP: > | ^~~~ > fs/compat_ioctl.c:1062:2: error: case label not within a switch statement > 1062 | case FIBMAP: > | ^~~~ > fs/compat_ioctl.c:1063:2: error: case label not within a switch statement > 1063 | case FIGETBSZ: > | ^~~~ > fs/compat_ioctl.c:1064:2: error: case label not within a switch statement > 1064 | case FIONREAD: > | ^~~~ > fs/compat_ioctl.c:1066:4: error: break statement not within loop or switch > 1066 | break; > | ^~~~~ > fs/compat_ioctl.c:1069:2: error: 'default' label not within a switch statement > 1069 | default: > | ^~~~~~~ > fs/compat_ioctl.c:1078:3: error: break statement not within loop or switch > 1078 | break; > | ^~~~~ > fs/compat_ioctl.c:1077:4: error: label 'do_ioctl' used but not defined > 1077 | goto do_ioctl; > | ^~~~ > fs/compat_ioctl.c:1073:5: error: label 'out_fput' used but not defined > 1073 | goto out_fput; > | ^~~~ > fs/compat_ioctl.c:1005:3: error: label 'out' used but not defined > 1005 | goto out; > | ^~~~ > fs/compat_ioctl.c:1079:2: warning: no return statement in function returning non-void [-Wreturn-type] > 1079 | } > | ^ > fs/compat_ioctl.c: At top level: > fs/compat_ioctl.c:1081:2: error: expected identifier or '(' before 'if' > 1081 | if (compat_ioctl_check_table(XFORM(cmd))) > | ^~ > fs/compat_ioctl.c:1084:2: warning: data definition has no type or storage class > 1084 | error = do_ioctl_trans(cmd, arg, f.file); > | ^~~~~ > fs/compat_ioctl.c:1084:2: error: type defaults to 'int' in declaration of 'error' [-Werror=implicit-int] > fs/compat_ioctl.c:1084:25: error: 'cmd' undeclared here (not in a function) > 1084 | error = do_ioctl_trans(cmd, arg, f.file); > | ^~~ > fs/compat_ioctl.c:1084:30: error: 'arg' undeclared here (not in a function) > 1084 | error = do_ioctl_trans(cmd, arg, f.file); > | ^~~ > fs/compat_ioctl.c:1084:35: error: 'f' undeclared here (not in a function); did you mean 'fd'? > 1084 | error = do_ioctl_trans(cmd, arg, f.file); > | ^ > | fd > fs/compat_ioctl.c:1085:2: error: expected identifier or '(' before 'if' > 1085 | if (error == -ENOIOCTLCMD) > | ^~ > fs/compat_ioctl.c:1088:2: error: expected identifier or '(' before 'goto' > 1088 | goto out_fput; > | ^~~~ > fs/compat_ioctl.c:1090:15: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token > 1090 | found_handler: > | ^ > fs/compat_ioctl.c:1092:10: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token > 1092 | do_ioctl: > | ^ > fs/compat_ioctl.c:1094:10: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token > 1094 | out_fput: > | ^ > fs/compat_ioctl.c:1096:5: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token > 1096 | out: > | ^ > fs/compat_ioctl.c:1098:1: error: expected identifier or '(' before '}' token > 1098 | } > | ^ > fs/compat_ioctl.c:976:12: warning: 'compat_ioctl_check_table' defined but not used [-Wunused-function] > 976 | static int compat_ioctl_check_table(unsigned int xcmd) > | ^~~~~~~~~~~~~~~~~~~~~~~~ > > Caused by commit > > d5e20bfa0b77 ("fs: add generic UNRESVSP and ZERO_RANGE ioctl handlers") > > I have used the xfs tree from next-20191028 for today. > > -- > Cheers, > Stephen Rothwell
On Mon, Oct 28, 2019 at 04:18:06PM -0700, Darrick J. Wong wrote:
> On Tue, Oct 29, 2019 at 10:11:51AM +1100, Stephen Rothwell wrote:
> > Hi all,
> >
> > After merging the xfs tree, today's linux-next build (powerpc
> > ppc64_defconfig) failed like this:
>
> <groan> Yeah, that's the same thing reported by the kbuild robot an hour
> ago. FWIW I pushed a fixed branch but I guess it's too late for today,
> oh well....
>
> ...the root cause of course was the stray '}' in one of the commits,
> that I didn't catch because compat ioctls are hard. :(
Weird. My usual builds have compat ioclts enabled, and I never got
any report like this.
[-- Attachment #1: Type: text/plain, Size: 940 bytes --] Hi Christoph, On Tue, 29 Oct 2019 06:56:05 +0100 Christoph Hellwig <hch@lst.de> wrote: > > On Mon, Oct 28, 2019 at 04:18:06PM -0700, Darrick J. Wong wrote: > > On Tue, Oct 29, 2019 at 10:11:51AM +1100, Stephen Rothwell wrote: > > > Hi all, > > > > > > After merging the xfs tree, today's linux-next build (powerpc > > > ppc64_defconfig) failed like this: > > > > <groan> Yeah, that's the same thing reported by the kbuild robot an hour > > ago. FWIW I pushed a fixed branch but I guess it's too late for today, > > oh well.... > > > > ...the root cause of course was the stray '}' in one of the commits, > > that I didn't catch because compat ioctls are hard. :( > > Weird. My usual builds have compat ioclts enabled, and I never got > any report like this. It only fails for !(defined(CONFIG_IA64) || defined(CONFIG_X86_64)) I reported it failing in my powerpc build. -- Cheers, Stephen Rothwell [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 484 bytes --]
On Tue, Oct 29, 2019 at 05:23:51PM +1100, Stephen Rothwell wrote:
> Hi Christoph,
>
> On Tue, 29 Oct 2019 06:56:05 +0100 Christoph Hellwig <hch@lst.de> wrote:
> >
> > On Mon, Oct 28, 2019 at 04:18:06PM -0700, Darrick J. Wong wrote:
> > > On Tue, Oct 29, 2019 at 10:11:51AM +1100, Stephen Rothwell wrote:
> > > > Hi all,
> > > >
> > > > After merging the xfs tree, today's linux-next build (powerpc
> > > > ppc64_defconfig) failed like this:
> > >
> > > <groan> Yeah, that's the same thing reported by the kbuild robot an hour
> > > ago. FWIW I pushed a fixed branch but I guess it's too late for today,
> > > oh well....
> > >
> > > ...the root cause of course was the stray '}' in one of the commits,
> > > that I didn't catch because compat ioctls are hard. :(
> >
> > Weird. My usual builds have compat ioclts enabled, and I never got
> > any report like this.
>
> It only fails for !(defined(CONFIG_IA64) || defined(CONFIG_X86_64))
> I reported it failing in my powerpc build.
Oh, ok. I actually see your report now as well, which for some reason
got sorted into my spam folder.
[-- Attachment #1: Type: text/plain, Size: 463 bytes --] Hi all, After merging the xfs tree, today's linux-next build (powerpc ppc64_defconfig) failed like this: ld: fs/xfs/xfs_buf_item.o: in function `.xfs_buf_dquot_iodone': xfs_buf_item.c:(.text+0x21a0): undefined reference to `.xfs_dquot_done' Caused by commit 018dc1667913 ("xfs: use direct calls for dquot IO completion") # CONFIG_XFS_QUOTA is not set I have used the xfs tree from next-20200706 for today. -- Cheers, Stephen Rothwell [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 488 bytes --]