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

Drokin, Oleg
2015-07-30T14:38:29Z

On Jul 30, 2015, at 12:17 AM, Stephen Rothwell wrote:

> Hi Jens,
>
> After merging the block tree, today's linux-next build (x86_64 allmodconfig)
> failed like this:
>
> drivers/staging/lustre/lustre/llite/../include/obd_support.h:42:0,
> from drivers/staging/lustre/lustre/llite/../include/lustre_cfg.h:225,
> from drivers/staging/lustre/lustre/llite/../include/lustre_lib.h:55,
> from drivers/staging/lustre/lustre/llite/lloop.c:105:
> drivers/staging/lustre/lustre/llite/lloop.c: In function 'loop_handle_bio':
> drivers/staging/lustre/lustre/llite/../include/linux/lustre_compat25.h:89:35: error: too many arguments to function 'bio_endio'
> #define cfs_bio_endio(a, b, c) bio_endio((a), (c))
> ^
> drivers/staging/lustre/lustre/llite/lloop.c:379:3: note: in expansion of macro 'cfs_bio_endio'
> cfs_bio_endio(bio, bio->bi_iter.bi_size, ret);
> ^
> In file included from include/linux/blkdev.h:18:0,
> from drivers/staging/lustre/lustre/llite/lloop.c:91:
> include/linux/bio.h:442:13: note: declared here
> extern void bio_endio(struct bio *);
> ^
>
> Caused by commit
>
> 4246a0b63bd8 ("block: add a bi_error field to struct bio")
>
> I added the following fix patch, but more is probably required:

It looks like this in itself is enough, but we probably should be good to
kill those cfs_bio_* compat macros while we are at it.
I'll submit a patch, but not sure where to base it on.
If basing on current block tree's linux-next, then I get a bunch of errors about how
kstrto* are undefined, so I cannot really test this yet.

Thanks.

> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Thu, 30 Jul 2015 14:10:57 +1000
> Subject: [PATCH] block: lustre: temporary fix for bio_endio API change
>
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
> drivers/staging/lustre/lustre/include/linux/lustre_compat25.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/lustre/lustre/include/linux/lustre_compat25.h b/drivers/staging/lustre/lustre/include/linux/lustre_compat25.h
> index 513c81f43d6e..1aac5a77c500 100644
> --- a/drivers/staging/lustre/lustre/include/linux/lustre_compat25.h
> +++ b/drivers/staging/lustre/lustre/include/linux/lustre_compat25.h
> @@ -86,7 +86,7 @@
> vfs_rename(old, old_dir, new, new_dir, NULL, 0)
>
> #define cfs_bio_io_error(a, b) bio_io_error((a))
> -#define cfs_bio_endio(a, b, c) bio_endio((a), (c))
> +#define cfs_bio_endio(a, b, c) bio_endio((a))
>
> #define cfs_path_put(nd) path_put(&(nd)->path)
>
> --
> 2.4.6
>
> --
> Cheers,
> Stephen Rothwell sfr@canb.auug.org.au
> http://www.canb.auug.org.au/~sfr/