Re: linux-next: build failure after merge of the vfs tree

From: Carlos Maiolino
Date: Fri Jan 10 2020 - 05:00:36 EST


Meh...

On Fri, Jan 10, 2020 at 05:57:29PM +1100, Stephen Rothwell wrote:
> Hi all,
>
> After merging the vfs tree, today's linux-next build (x86_64 allnoconfig)
> failed like this:
>
> fs/inode.c:1615:5: error: redefinition of 'bmap'
> 1615 | int bmap(struct inode *inode, sector_t *block)
> | ^~~~
> In file included from fs/inode.c:7:
> include/linux/fs.h:2867:19: note: previous definition of 'bmap' was here
> 2867 | static inline int bmap(struct inode *inode, sector_t *block)
> | ^~~~
>
> Caused by commit
>
> 65a805fdd75f ("fibmap: Use bmap instead of ->bmap method in ioctl_fibmap")
>
> I have added this patch for today:

I had a fix to it, in one of my previous patches but I forgot to add it to this
version.

>
> From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> Date: Fri, 10 Jan 2020 17:53:19 +1100
> Subject: [PATCH] fs: fix up for !CONFIG_BLOCK and bmap
>
> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> ---
> fs/inode.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/fs/inode.c b/fs/inode.c
> index 9f894b25af2b..590f36daa006 100644
> --- a/fs/inode.c
> +++ b/fs/inode.c
> @@ -1598,6 +1598,7 @@ void iput(struct inode *inode)
> }
> EXPORT_SYMBOL(iput);
>
> +#ifdef CONFIG_BLOCK
> /**
> * bmap - find a block number in a file
> * @inode: inode owning the block number being requested
> @@ -1621,6 +1622,7 @@ int bmap(struct inode *inode, sector_t *block)
> return 0;
> }
> EXPORT_SYMBOL(bmap);
> +#endif

The problem with this fix, is the fact bmap() could still be called for some
users even withouth CONFIG_BLOCK, so, it needs to have a dummy function to
return -EINVAL in case CONFIG_BLOCK is disabled.

I'll send a patch to fix it. Thanks for spotting it Stephen.

>
> /*
> * With relative atime, only update atime if the previous atime is
> --
> 2.24.0
>
> --
> Cheers,
> Stephen Rothwell



--
Carlos