2015-07-23 00:56:26

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: build failure after merge of the ext4 tree

Hi Theodore,

After merging the ext4 tree, today's linux-next build (x86_64
allmodconfig) failed like this:

ERROR: "wbc_account_io" [fs/ext4/ext4.ko] undefined!
ERROR: "bio_associate_blkcg" [fs/ext4/ext4.ko] undefined!

Caused by commit

001e4a8775f6 ("ext4: implement cgroup writeback support")

I have used the ext4 tree from next-20150722 for today.

--
Cheers,
Stephen Rothwell [email protected]


2015-07-23 16:50:06

by Theodore Ts'o

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the ext4 tree

On Thu, Jul 23, 2015 at 10:56:23AM +1000, Stephen Rothwell wrote:
> Hi Theodore,
>
> After merging the ext4 tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
> ERROR: "wbc_account_io" [fs/ext4/ext4.ko] undefined!
> ERROR: "bio_associate_blkcg" [fs/ext4/ext4.ko] undefined!
>
> Caused by commit
>
> 001e4a8775f6 ("ext4: implement cgroup writeback support")
>
> I have used the ext4 tree from next-20150722 for today.

Ah, I see, we're missing the include files which define the inline
dummy functions. I'll fix this in my tree, thanks.

- Ted

2015-07-23 17:23:58

by Theodore Ts'o

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the ext4 tree

On Thu, Jul 23, 2015 at 12:49:53PM -0400, Theodore Ts'o wrote:
> > After merging the ext4 tree, today's linux-next build (x86_64
> > allmodconfig) failed like this:
> >
> > ERROR: "wbc_account_io" [fs/ext4/ext4.ko] undefined!
> > ERROR: "bio_associate_blkcg" [fs/ext4/ext4.ko] undefined!
> >
> > Caused by commit
> >
> > 001e4a8775f6 ("ext4: implement cgroup writeback support")
> >
> > I have used the ext4 tree from next-20150722 for today.
>
> Ah, I see, we're missing the include files which define the inline
> dummy functions. I'll fix this in my tree, thanks.

Whoops, correction, the problem is that wbc_account_io() and
bio_asociate_blkcg() need to be exported as symbols.

Tejun, how quickly get you get a fix into linux-next? Or should I
just drop that patch for now?

- Ted

2015-07-23 17:41:14

by Tejun Heo

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the ext4 tree

On Thu, Jul 23, 2015 at 01:23:43PM -0400, Theodore Ts'o wrote:
> On Thu, Jul 23, 2015 at 12:49:53PM -0400, Theodore Ts'o wrote:
> > > After merging the ext4 tree, today's linux-next build (x86_64
> > > allmodconfig) failed like this:
> > >
> > > ERROR: "wbc_account_io" [fs/ext4/ext4.ko] undefined!
> > > ERROR: "bio_associate_blkcg" [fs/ext4/ext4.ko] undefined!
> > >
> > > Caused by commit
> > >
> > > 001e4a8775f6 ("ext4: implement cgroup writeback support")
> > >
> > > I have used the ext4 tree from next-20150722 for today.
> >
> > Ah, I see, we're missing the include files which define the inline
> > dummy functions. I'll fix this in my tree, thanks.
>
> Whoops, correction, the problem is that wbc_account_io() and
> bio_asociate_blkcg() need to be exported as symbols.
>
> Tejun, how quickly get you get a fix into linux-next? Or should I
> just drop that patch for now?

I'll send the patch to add EXPORT to Jens right away.

Thanks.

--
tejun

2015-07-23 18:27:14

by Tejun Heo

[permalink] [raw]
Subject: [PATCH block/for-linus] block: export bio_associate_*() and wbc_account_io()

bio_associate_blkcg(), bio_associate_current() and wbc_account_io()
are used to implement cgroup writeback support for filesystems and
thus need to be exported. Export them.

Signed-off-by: Tejun Heo <[email protected]>
Reported-by: Stephen Rothwell <[email protected]>
---
Hello, Jens.

While this change isn't strictly necessary for 4.2, I think it'd
better to push it through for-linus so that it's there before any
filesystem specific changes are merged.

Thanks.

block/bio.c | 2 ++
fs/fs-writeback.c | 1 +
2 files changed, 3 insertions(+)

--- a/block/bio.c
+++ b/block/bio.c
@@ -2009,6 +2009,7 @@ int bio_associate_blkcg(struct bio *bio,
bio->bi_css = blkcg_css;
return 0;
}
+EXPORT_SYMBOL_GPL(bio_associate_blkcg);

/**
* bio_associate_current - associate a bio with %current
@@ -2039,6 +2040,7 @@ int bio_associate_current(struct bio *bi
bio->bi_css = task_get_css(current, blkio_cgrp_id);
return 0;
}
+EXPORT_SYMBOL_GPL(bio_associate_current);

/**
* bio_disassociate_task - undo bio_associate_current()
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -702,6 +702,7 @@ void wbc_account_io(struct writeback_con
else
wbc->wb_tcand_bytes -= min(bytes, wbc->wb_tcand_bytes);
}
+EXPORT_SYMBOL_GPL(wbc_account_io);

/**
* inode_congested - test whether an inode is congested

2015-07-23 18:30:25

by Chris Mason

[permalink] [raw]
Subject: Re: [PATCH block/for-linus] block: export bio_associate_*() and wbc_account_io()

On Thu, Jul 23, 2015 at 02:27:09PM -0400, Tejun Heo wrote:
> bio_associate_blkcg(), bio_associate_current() and wbc_account_io()
> are used to implement cgroup writeback support for filesystems and
> thus need to be exported. Export them.

Thanks, these were the only three I needed on the btrfs side.

-chris

2015-07-23 19:36:42

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH block/for-linus] block: export bio_associate_*() and wbc_account_io()

On 07/23/2015 12:27 PM, Tejun Heo wrote:
> bio_associate_blkcg(), bio_associate_current() and wbc_account_io()
> are used to implement cgroup writeback support for filesystems and
> thus need to be exported. Export them.
>
> Signed-off-by: Tejun Heo <[email protected]>
> Reported-by: Stephen Rothwell <[email protected]>
> ---
> Hello, Jens.
>
> While this change isn't strictly necessary for 4.2, I think it'd
> better to push it through for-linus so that it's there before any
> filesystem specific changes are merged.

Might as well shove it it, as it'll make the lives of others easier.

--
Jens Axboe