[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGnkfhwJR0CTy51o5F_YjgXCn7RK7=X1PcNbjhT-Xpw5zg3REg@mail.gmail.com>
Date: Thu, 12 Mar 2020 14:57:14 +0100
From: Matteo Croce <mcroce@...hat.com>
To: Jens Axboe <axboe@...nel.dk>
Cc: Stephen Rothwell <sfr@...b.auug.org.au>,
Linux Next Mailing List <linux-next@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
"Martin K. Petersen" <martin.petersen@...cle.com>,
Coly Li <colyli@...e.de>
Subject: Re: linux-next: build failure after merge of the block tree
On Thu, Mar 12, 2020 at 2:07 PM Jens Axboe <axboe@...nel.dk> wrote:
>
> On 3/12/20 4:12 AM, Matteo Croce wrote:
> > On Thu, Mar 12, 2020 at 3:55 AM Stephen Rothwell <sfr@...b.auug.org.au> wrote:
> >>
> >> Hi all,
> >>
> >> After merging the block tree, today's linux-next build (x86_64
> >> allmodconfig) failed like this:
> >>
> >> In file included from fs/erofs/xattr.h:10,
> >> from fs/erofs/inode.c:7:
> >> fs/erofs/inode.c: In function 'erofs_read_inode':
> >> fs/erofs/internal.h:197:31: error: 'PAGE_SECTORS_SHIFT' undeclared (first use in this function); did you mean 'PA_SECTION_SHIFT'?
> >> 197 | #define LOG_SECTORS_PER_BLOCK PAGE_SECTORS_SHIFT
> >> | ^~~~~~~~~~~~~~~~~~
> >> fs/erofs/inode.c:122:30: note: in expansion of macro 'LOG_SECTORS_PER_BLOCK'
> >> 122 | inode->i_blocks = nblks << LOG_SECTORS_PER_BLOCK;
> >> | ^~~~~~~~~~~~~~~~~~~~~
> >> fs/erofs/internal.h:197:31: note: each undeclared identifier is reported only once for each function it appears in
> >> 197 | #define LOG_SECTORS_PER_BLOCK PAGE_SECTORS_SHIFT
> >> | ^~~~~~~~~~~~~~~~~~
> >> fs/erofs/inode.c:122:30: note: in expansion of macro 'LOG_SECTORS_PER_BLOCK'
> >> 122 | inode->i_blocks = nblks << LOG_SECTORS_PER_BLOCK;
> >> | ^~~~~~~~~~~~~~~~~~~~~
> >> In file included from fs/erofs/data.c:7:
> >> fs/erofs/data.c: In function 'erofs_read_raw_page':
> >> fs/erofs/internal.h:197:31: error: 'PAGE_SECTORS_SHIFT' undeclared (first use in this function); did you mean 'PA_SECTION_SHIFT'?
> >> 197 | #define LOG_SECTORS_PER_BLOCK PAGE_SECTORS_SHIFT
> >> | ^~~~~~~~~~~~~~~~~~
> >> fs/erofs/data.c:226:4: note: in expansion of macro 'LOG_SECTORS_PER_BLOCK'
> >> 226 | LOG_SECTORS_PER_BLOCK;
> >> | ^~~~~~~~~~~~~~~~~~~~~
> >> fs/erofs/internal.h:197:31: note: each undeclared identifier is reported only once for each function it appears in
> >> 197 | #define LOG_SECTORS_PER_BLOCK PAGE_SECTORS_SHIFT
> >> | ^~~~~~~~~~~~~~~~~~
> >> fs/erofs/data.c:226:4: note: in expansion of macro 'LOG_SECTORS_PER_BLOCK'
> >> 226 | LOG_SECTORS_PER_BLOCK;
> >> | ^~~~~~~~~~~~~~~~~~~~~
> >> fs/erofs/data.c: In function 'erofs_bmap':
> >> fs/erofs/internal.h:197:31: error: 'PAGE_SECTORS_SHIFT' undeclared (first use in this function); did you mean 'PA_SECTION_SHIFT'?
> >> 197 | #define LOG_SECTORS_PER_BLOCK PAGE_SECTORS_SHIFT
> >> | ^~~~~~~~~~~~~~~~~~
> >> fs/erofs/data.c:351:16: note: in expansion of macro 'LOG_SECTORS_PER_BLOCK'
> >> 351 | if (block >> LOG_SECTORS_PER_BLOCK >= blks)
> >> | ^~~~~~~~~~~~~~~~~~~~~
> >>
> >> Caused by commit
> >>
> >> 61c7d3d5e015 ("block: refactor duplicated macros")
> >>
> >> I have used the block tree from next-20200311 for today.
> >>
> >> --
> >> Cheers,
> >> Stephen Rothwell
> >
> > Hi,
> >
> > I was building a kernel without erofs. Just including
> > include/linux/blkdev.h will fix it, should I amend the
> > patch or send a fix?
>
> I'll drop the patch. I was worried about the patch to begin with,
> something like this really should be done through cocinelle so there's
> less concern of a stupid mistake.
>
> On top of that, somewhat miffed that you'd have a v3 of a patch, yet
> haven't bothered to even _compile_ the parts you touch. That's
> inexcusable.
>
> --
> Jens Axboe
>
I apologize, I was using a config with all in it but erofs, which was
moved from staging in 5.4:
$ grep -e BRD -e ZRAM -e DAX -e MD_RAID -e SDHCI= -e EXT2 -e SWAP -e
DM_RAID -e EROFS .config
CONFIG_SWAP=y
# CONFIG_MEMCG_SWAP is not set
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_ARCH_WANTS_THP_SWAP=y
CONFIG_THP_SWAP=y
# CONFIG_FRONTSWAP is not set
CONFIG_MD_RAID0=y
CONFIG_MD_RAID1=y
CONFIG_MD_RAID10=y
CONFIG_MD_RAID456=y
CONFIG_DM_RAID=y
CONFIG_MMC_SDHCI=y
CONFIG_DAX=y
CONFIG_DEV_DAX=y
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_FS_DAX is not set
# CONFIG_EROFS_FS is not set
I'm running coccinelle with this change appended, and also an all allyesconfig
--- a/fs/erofs/internal.h
+++ b/fs/erofs/internal.h
@@ -16,6 +16,7 @@
#include <linux/magic.h>
#include <linux/slab.h>
#include <linux/vmalloc.h>
+#include <linux/blkdev.h>
#include "erofs_fs.h"
Regards,
--
Matteo Croce
per aspera ad upstream
Powered by blists - more mailing lists