2010-04-15 05:36:30

by Divyesh Shah

[permalink] [raw]
Subject: [PATCH] blkio: Fix linux-next build failure after merge of block tree

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

ERROR: "get_gendisk" [block/blk-cgroup.ko] undefined!
ERROR: "sched_clock" [block/blk-cgroup.ko] undefined!

This happens because the two symbols aren't exported and hence not available
when blk-cgroup code is built as a module. I've tried to stay consistent with
the use of EXPORT_SYMBOL or EXPORT_SYMBOL_GPL with the other symbols in the
respective files.

Signed-off-by: Divyesh Shah <[email protected]>
---

block/genhd.c | 1 +
kernel/sched_clock.c | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/block/genhd.c b/block/genhd.c
index d13ba76..154b5f8 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -596,6 +596,7 @@ struct gendisk *get_gendisk(dev_t devt, int *partno)

return disk;
}
+EXPORT_SYMBOL(get_gendisk);

/**
* bdget_disk - do bdget() by gendisk and partition number
diff --git a/kernel/sched_clock.c b/kernel/sched_clock.c
index 5b49613..906a0f7 100644
--- a/kernel/sched_clock.c
+++ b/kernel/sched_clock.c
@@ -41,6 +41,7 @@ unsigned long long __attribute__((weak)) sched_clock(void)
return (unsigned long long)(jiffies - INITIAL_JIFFIES)
* (NSEC_PER_SEC / HZ);
}
+EXPORT_SYMBOL_GPL(sched_clock);

static __read_mostly int sched_clock_running;


2010-04-15 05:52:14

by Gui, Jianfeng/归 剑峰

[permalink] [raw]
Subject: Re: [PATCH] blkio: Fix linux-next build failure after merge of block tree

Divyesh Shah wrote:
> After merging the block tree, 20100414's linux-next build (x86_64
> allmodconfig) failed like this:
>
> ERROR: "get_gendisk" [block/blk-cgroup.ko] undefined!
> ERROR: "sched_clock" [block/blk-cgroup.ko] undefined!
>
> This happens because the two symbols aren't exported and hence not available
> when blk-cgroup code is built as a module. I've tried to stay consistent with
> the use of EXPORT_SYMBOL or EXPORT_SYMBOL_GPL with the other symbols in the
> respective files.
>
> Signed-off-by: Divyesh Shah <[email protected]>

I was just about to post a same patch. :)

Acked-by: Gui Jianfeng <[email protected]>

> ---
>
> block/genhd.c | 1 +
> kernel/sched_clock.c | 1 +
> 2 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/block/genhd.c b/block/genhd.c
> index d13ba76..154b5f8 100644
> --- a/block/genhd.c
> +++ b/block/genhd.c
> @@ -596,6 +596,7 @@ struct gendisk *get_gendisk(dev_t devt, int *partno)
>
> return disk;
> }
> +EXPORT_SYMBOL(get_gendisk);
>
> /**
> * bdget_disk - do bdget() by gendisk and partition number
> diff --git a/kernel/sched_clock.c b/kernel/sched_clock.c
> index 5b49613..906a0f7 100644
> --- a/kernel/sched_clock.c
> +++ b/kernel/sched_clock.c
> @@ -41,6 +41,7 @@ unsigned long long __attribute__((weak)) sched_clock(void)
> return (unsigned long long)(jiffies - INITIAL_JIFFIES)
> * (NSEC_PER_SEC / HZ);
> }
> +EXPORT_SYMBOL_GPL(sched_clock);
>
> static __read_mostly int sched_clock_running;
>
>
>
>
>

2010-04-15 06:56:19

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH] blkio: Fix linux-next build failure after merge of block tree

On Wed, Apr 14 2010, Divyesh Shah wrote:
> After merging the block tree, 20100414's linux-next build (x86_64
> allmodconfig) failed like this:
>
> ERROR: "get_gendisk" [block/blk-cgroup.ko] undefined!
> ERROR: "sched_clock" [block/blk-cgroup.ko] undefined!
>
> This happens because the two symbols aren't exported and hence not available
> when blk-cgroup code is built as a module. I've tried to stay consistent with
> the use of EXPORT_SYMBOL or EXPORT_SYMBOL_GPL with the other symbols in the
> respective files.

Thanks, applied. I changed the subject to say 'fix for modular
blk-cgroup build', as that is a lot more descriptive than saying you
fixed linux-next build. It's more informative to note the actual
problem, not how it was discovered.

--
Jens Axboe