[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200909081014.GX734@Air-de-Roger>
Date: Wed, 9 Sep 2020 10:10:14 +0200
From: Roger Pau Monné <roger.pau@...rix.com>
To: Stephen Rothwell <sfr@...b.auug.org.au>
CC: Andrew Morton <akpm@...ux-foundation.org>,
Miklos Szeredi <miklos@...redi.hu>,
Dan Williams <dan.j.williams@...el.com>,
Juergen Gross <jgross@...e.com>,
Stefan Hajnoczi <stefanha@...hat.com>,
"Dr. David Alan Gilbert" <dgilbert@...hat.com>,
Vivek Goyal <vgoyal@...hat.com>,
"Sebastien Boeuf" <sebastien.boeuf@...el.com>,
Liu Bo <bo.liu@...ux.alibaba.com>,
"Linux Next Mailing List" <linux-next@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: linux-next: build failure after merge of the akpm-current tree
On Tue, Sep 08, 2020 at 08:09:50PM +1000, Stephen Rothwell wrote:
> Hi all,
>
> After merging the akpm-current tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
> drivers/xen/unpopulated-alloc.c: In function 'fill_list':
> drivers/xen/unpopulated-alloc.c:30:9: error: 'struct dev_pagemap' has no member named 'res'; did you mean 'ref'?
> 30 | pgmap->res.name = "Xen scratch";
> | ^~~
> | ref
> drivers/xen/unpopulated-alloc.c:31:9: error: 'struct dev_pagemap' has no member named 'res'; did you mean 'ref'?
> 31 | pgmap->res.flags = IORESOURCE_MEM | IORESOURCE_BUSY;
> | ^~~
> | ref
> drivers/xen/unpopulated-alloc.c:33:51: error: 'struct dev_pagemap' has no member named 'res'; did you mean 'ref'?
> 33 | ret = allocate_resource(&iomem_resource, &pgmap->res,
> | ^~~
> | ref
> In file included from include/asm-generic/memory_model.h:5,
> from arch/x86/include/asm/page.h:76,
> from arch/x86/include/asm/thread_info.h:12,
> from include/linux/thread_info.h:38,
> from arch/x86/include/asm/preempt.h:7,
> from include/linux/preempt.h:78,
> from include/linux/spinlock.h:51,
> from include/linux/mmzone.h:8,
> from include/linux/gfp.h:6,
> from drivers/xen/unpopulated-alloc.c:3:
> drivers/xen/unpopulated-alloc.c:53:35: error: 'struct dev_pagemap' has no member named 'res'; did you mean 'ref'?
> 53 | xen_pfn_t pfn = PFN_DOWN(pgmap->res.start);
> | ^~~
> include/linux/pfn.h:20:23: note: in definition of macro 'PFN_DOWN'
> 20 | #define PFN_DOWN(x) ((x) >> PAGE_SHIFT)
> | ^
> drivers/xen/unpopulated-alloc.c:58:30: error: 'struct dev_pagemap' has no member named 'res'; did you mean 'ref'?
> 58 | release_resource(&pgmap->res);
> | ^~~
> | ref
> drivers/xen/unpopulated-alloc.c:69:28: error: 'struct dev_pagemap' has no member named 'res'; did you mean 'ref'?
> 69 | release_resource(&pgmap->res);
> | ^~~
> | ref
> fs/fuse/virtio_fs.c: In function 'virtio_fs_setup_dax':
> fs/fuse/virtio_fs.c:838:9: error: 'struct dev_pagemap' has no member named 'res'; did you mean 'ref'?
> 838 | pgmap->res = (struct resource){
> | ^~~
> | ref
>
> Caused by commit
>
> b3e022c5a68c ("mm/memremap_pages: convert to 'struct range'")
>
> interacting with commit
>
> 9e2369c06c8a ("xen: add helpers to allocate unpopulated memory")
>
> from Linus' tree (in v5.9-rc4) and commit
>
> 7e833303db20 ("virtiofs: set up virtio_fs dax_device")
>
> from the fuse tree.
>
> I have added the following patch which may require more work but at
> least makes it all build.
>
> From: Stephen Rothwell <sfr@...b.auug.org.au>
> Date: Tue, 8 Sep 2020 20:00:20 +1000
> Subject: [PATCH] merge fix up for "mm/memremap_pages: convert to 'struct
> range'"
>
> Signed-off-by: Stephen Rothwell <sfr@...b.auug.org.au>
Thanks, LGTM.
> ---
> drivers/xen/unpopulated-alloc.c | 15 +++++++++------
> fs/fuse/virtio_fs.c | 3 +--
> 2 files changed, 10 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/xen/unpopulated-alloc.c b/drivers/xen/unpopulated-alloc.c
> index 3b98dc921426..9fa7ce330628 100644
> --- a/drivers/xen/unpopulated-alloc.c
> +++ b/drivers/xen/unpopulated-alloc.c
> @@ -18,6 +18,7 @@ static unsigned int list_count;
> static int fill_list(unsigned int nr_pages)
> {
> struct dev_pagemap *pgmap;
> + struct resource res;
> void *vaddr;
> unsigned int i, alloc_pages = round_up(nr_pages, PAGES_PER_SECTION);
> int ret;
> @@ -27,10 +28,10 @@ static int fill_list(unsigned int nr_pages)
> return -ENOMEM;
>
> pgmap->type = MEMORY_DEVICE_GENERIC;
> - pgmap->res.name = "Xen scratch";
> - pgmap->res.flags = IORESOURCE_MEM | IORESOURCE_BUSY;
> + res.name = "Xen scratch";
> + res.flags = IORESOURCE_MEM | IORESOURCE_BUSY;
You could init the fields at res definition time now, since it's no
longer dynamically allocated.
Roger.
Powered by blists - more mailing lists