* Re: linux-next: Tree for February 19 (scsi/mpt2sas/raid_class)
[not found] <20100219174711.5e7cc7be.sfr@canb.auug.org.au>
@ 2010-02-19 17:21 ` Randy Dunlap
2010-02-22 3:46 ` [PATCH -next] scsi: RAID_ATTRS depends on SCSI Randy Dunlap
0 siblings, 1 reply; 7+ messages in thread
From: Randy Dunlap @ 2010-02-19 17:21 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: linux-next, LKML, scsi, James E.J. Bottomley
On 02/18/10 22:47, Stephen Rothwell wrote:
> Hi all,
>
> Changes since 20100218:
>
>
> The scsi tree lost its build failure.
(caused by a one-line patch to scsi/mpt2sas/Kconfig:
select RAID_ATTRS
)
When CONFIG_SCSI=m, CONFIG_RAID_ATTRS can still be =y, causing build errors
like:
ERROR: "raid_class_release" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!
ERROR: "raid_class_attach" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!
drivers/scsi/built-in.o does contain raid_class_* code (according to 'nm'),
but drivers/built-in.o does not, so I guess that drivers/Makefile:
obj-$(CONFIG_SCSI) += scsi/
is preventing drivers/scsi/built-in.o from being added to drivers/built-in.o.
We can:
a/ change drivers/Makefile to say:
obj-y += scsi/
(test: that still had a build error:
drivers/built-in.o: In function `raid_match':
raid_class.c:(.text+0x9de7c): undefined reference to `scsi_is_sdev_device'
)
b/ change drivers/scsi/Kconfig to make RAID_ATTRS depend on SCSI, so that raid_class
would be built as a module
That one does work.
Do something else?
Preferences?
--
~Randy
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH -next] scsi: RAID_ATTRS depends on SCSI
2010-02-19 17:21 ` linux-next: Tree for February 19 (scsi/mpt2sas/raid_class) Randy Dunlap
@ 2010-02-22 3:46 ` Randy Dunlap
2010-03-02 11:26 ` [origin tree build failure] " Ingo Molnar
2010-03-03 5:36 ` James Bottomley
0 siblings, 2 replies; 7+ messages in thread
From: Randy Dunlap @ 2010-02-22 3:46 UTC (permalink / raw)
To: linux-next, akpm; +Cc: Stephen Rothwell, LKML, scsi, James E.J. Bottomley
From: Randy Dunlap <randy.dunlap@oracle.com>
raid_class uses scsi interfaces, so it should depend on SCSI.
Otherwise build errors occur when RAID_ATTRS=y and SCSI=m:
ERROR: "raid_class_release" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!
ERROR: "raid_class_attach" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
---
drivers/scsi/Kconfig | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
--- linux-next-20100219.orig/drivers/scsi/Kconfig
+++ linux-next-20100219/drivers/scsi/Kconfig
@@ -1,12 +1,5 @@
menu "SCSI device support"
-config RAID_ATTRS
- tristate "RAID Transport Class"
- default n
- depends on BLOCK
- ---help---
- Provides RAID
-
config SCSI
tristate "SCSI device support"
depends on BLOCK
@@ -34,6 +27,13 @@ config SCSI_DMA
bool
default n
+config RAID_ATTRS
+ tristate "RAID Transport Class"
+ default n
+ depends on BLOCK && SCSI
+ ---help---
+ Provides RAID
+
config SCSI_TGT
tristate "SCSI target support"
depends on SCSI && EXPERIMENTAL
^ permalink raw reply [flat|nested] 7+ messages in thread
* [origin tree build failure] Re: [PATCH -next] scsi: RAID_ATTRS depends on SCSI
2010-02-22 3:46 ` [PATCH -next] scsi: RAID_ATTRS depends on SCSI Randy Dunlap
@ 2010-03-02 11:26 ` Ingo Molnar
2010-03-02 23:30 ` Stephen Rothwell
2010-03-03 5:36 ` James Bottomley
1 sibling, 1 reply; 7+ messages in thread
From: Ingo Molnar @ 2010-03-02 11:26 UTC (permalink / raw)
To: Randy Dunlap, Linus Torvalds
Cc: linux-next, akpm, Stephen Rothwell, LKML, scsi,
James E.J. Bottomley
* Randy Dunlap <rdunlap@xenotime.net> wrote:
> From: Randy Dunlap <randy.dunlap@oracle.com>
>
> raid_class uses scsi interfaces, so it should depend on SCSI.
> Otherwise build errors occur when RAID_ATTRS=y and SCSI=m:
>
> ERROR: "raid_class_release" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!
> ERROR: "raid_class_attach" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!
FYI, this build bug has been pushed upstream via the SCSI tree, without
Randy's fix.
I have applied Randy's drivers/scsi/Kconfig fix to tip:out-of-tree and that
solves the build bug here.
Tested-by: Ingo Molnar <mingo@elte.hu>
Thanks,
Ingo
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [origin tree build failure] Re: [PATCH -next] scsi: RAID_ATTRS depends on SCSI
2010-03-02 11:26 ` [origin tree build failure] " Ingo Molnar
@ 2010-03-02 23:30 ` Stephen Rothwell
0 siblings, 0 replies; 7+ messages in thread
From: Stephen Rothwell @ 2010-03-02 23:30 UTC (permalink / raw)
To: Ingo Molnar
Cc: Randy Dunlap, Linus Torvalds, linux-next, akpm, LKML, scsi,
James E.J. Bottomley
[-- Attachment #1: Type: text/plain, Size: 963 bytes --]
Hi Ingo,
On Tue, 2 Mar 2010 12:26:03 +0100 Ingo Molnar <mingo@elte.hu> wrote:
>
> * Randy Dunlap <rdunlap@xenotime.net> wrote:
>
> > From: Randy Dunlap <randy.dunlap@oracle.com>
> >
> > raid_class uses scsi interfaces, so it should depend on SCSI.
> > Otherwise build errors occur when RAID_ATTRS=y and SCSI=m:
> >
> > ERROR: "raid_class_release" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!
> > ERROR: "raid_class_attach" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!
>
> FYI, this build bug has been pushed upstream via the SCSI tree, without
> Randy's fix.
>
> I have applied Randy's drivers/scsi/Kconfig fix to tip:out-of-tree and that
> solves the build bug here.
>
> Tested-by: Ingo Molnar <mingo@elte.hu>
Thanks for the heads up Ingo, I have added that to my fixes tree as well
so it will be in linux-next today.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH -next] scsi: RAID_ATTRS depends on SCSI
2010-02-22 3:46 ` [PATCH -next] scsi: RAID_ATTRS depends on SCSI Randy Dunlap
2010-03-02 11:26 ` [origin tree build failure] " Ingo Molnar
@ 2010-03-03 5:36 ` James Bottomley
2010-03-03 6:17 ` Stephen Rothwell
2010-03-03 16:56 ` Randy Dunlap
1 sibling, 2 replies; 7+ messages in thread
From: James Bottomley @ 2010-03-03 5:36 UTC (permalink / raw)
To: Randy Dunlap; +Cc: linux-next, akpm, Stephen Rothwell, LKML, scsi
On Sun, 2010-02-21 at 19:46 -0800, Randy Dunlap wrote:
> From: Randy Dunlap <randy.dunlap@oracle.com>
>
> raid_class uses scsi interfaces, so it should depend on SCSI.
> Otherwise build errors occur when RAID_ATTRS=y and SCSI=m:
>
> ERROR: "raid_class_release" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!
> ERROR: "raid_class_attach" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!
>
> Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
> ---
> drivers/scsi/Kconfig | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> --- linux-next-20100219.orig/drivers/scsi/Kconfig
> +++ linux-next-20100219/drivers/scsi/Kconfig
> @@ -1,12 +1,5 @@
> menu "SCSI device support"
>
> -config RAID_ATTRS
> - tristate "RAID Transport Class"
> - default n
> - depends on BLOCK
> - ---help---
> - Provides RAID
> -
> config SCSI
> tristate "SCSI device support"
> depends on BLOCK
> @@ -34,6 +27,13 @@ config SCSI_DMA
> bool
> default n
>
> +config RAID_ATTRS
> + tristate "RAID Transport Class"
> + default n
> + depends on BLOCK && SCSI
> + ---help---
> + Provides RAID
> +
This will fix the error, but it's not quite the right thing to do. the
RAID class should be independent of SCSI, but it wants to do a SCSI
check if SCSI is compiled in the matching routines. This gives us a
nasty dependency, the condition being that the raid class must be m if
SCSI is m.
I think this patch does the right thing. Can someone test it on the
config checker? Or I can just put it in linux-next and have Stephen's
builds do it.
Thanks,
James
---
diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
index 9191d1e..75f2336 100644
--- a/drivers/scsi/Kconfig
+++ b/drivers/scsi/Kconfig
@@ -1,9 +1,15 @@
menu "SCSI device support"
+config SCSI_MOD
+ tristate
+ default y if SCSI=n || SCSI=y
+ default m if SCSI=m
+
config RAID_ATTRS
tristate "RAID Transport Class"
default n
depends on BLOCK
+ depends on SCSI_MOD
---help---
Provides RAID
diff --git a/drivers/scsi/raid_class.c b/drivers/scsi/raid_class.c
index bd88349..2c146b4 100644
--- a/drivers/scsi/raid_class.c
+++ b/drivers/scsi/raid_class.c
@@ -63,6 +63,7 @@ static int raid_match(struct attribute_container *cont, struct device *dev)
* emulated RAID devices, so start with SCSI */
struct raid_internal *i = ac_to_raid_internal(cont);
+#if defined(CONFIG_SCSI) || defined(CONFIG_SCSI_MODULE)
if (scsi_is_sdev_device(dev)) {
struct scsi_device *sdev = to_scsi_device(dev);
@@ -71,6 +72,7 @@ static int raid_match(struct attribute_container *cont, struct device *dev)
return i->f->is_raid(dev);
}
+#endif
/* FIXME: look at other subsystems too */
return 0;
}
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH -next] scsi: RAID_ATTRS depends on SCSI
2010-03-03 5:36 ` James Bottomley
@ 2010-03-03 6:17 ` Stephen Rothwell
2010-03-03 16:56 ` Randy Dunlap
1 sibling, 0 replies; 7+ messages in thread
From: Stephen Rothwell @ 2010-03-03 6:17 UTC (permalink / raw)
To: James Bottomley; +Cc: Randy Dunlap, linux-next, akpm, LKML, scsi
[-- Attachment #1: Type: text/plain, Size: 823 bytes --]
Hi James,
On Wed, 03 Mar 2010 11:06:56 +0530 James Bottomley <James.Bottomley@suse.de> wrote:
>
> This will fix the error, but it's not quite the right thing to do. the
> RAID class should be independent of SCSI, but it wants to do a SCSI
> check if SCSI is compiled in the matching routines. This gives us a
> nasty dependency, the condition being that the raid class must be m if
> SCSI is m.
>
> I think this patch does the right thing. Can someone test it on the
> config checker? Or I can just put it in linux-next and have Stephen's
> builds do it.
My tree for today has Randy's fix in it. Also, you should really test
against Linus' tree as that is where the problem currently lies.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH -next] scsi: RAID_ATTRS depends on SCSI
2010-03-03 5:36 ` James Bottomley
2010-03-03 6:17 ` Stephen Rothwell
@ 2010-03-03 16:56 ` Randy Dunlap
1 sibling, 0 replies; 7+ messages in thread
From: Randy Dunlap @ 2010-03-03 16:56 UTC (permalink / raw)
To: James Bottomley; +Cc: linux-next, akpm, Stephen Rothwell, LKML, scsi
On 03/02/10 21:36, James Bottomley wrote:
> On Sun, 2010-02-21 at 19:46 -0800, Randy Dunlap wrote:
>> From: Randy Dunlap <randy.dunlap@oracle.com>
>>
>> raid_class uses scsi interfaces, so it should depend on SCSI.
>> Otherwise build errors occur when RAID_ATTRS=y and SCSI=m:
>>
>> ERROR: "raid_class_release" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!
>> ERROR: "raid_class_attach" [drivers/scsi/mpt2sas/mpt2sas.ko] undefined!
>>
>> Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
>> ---
>> drivers/scsi/Kconfig | 14 +++++++-------
>> 1 file changed, 7 insertions(+), 7 deletions(-)
>>
>> --- linux-next-20100219.orig/drivers/scsi/Kconfig
>> +++ linux-next-20100219/drivers/scsi/Kconfig
>> @@ -1,12 +1,5 @@
>> menu "SCSI device support"
>>
>> -config RAID_ATTRS
>> - tristate "RAID Transport Class"
>> - default n
>> - depends on BLOCK
>> - ---help---
>> - Provides RAID
>> -
>> config SCSI
>> tristate "SCSI device support"
>> depends on BLOCK
>> @@ -34,6 +27,13 @@ config SCSI_DMA
>> bool
>> default n
>>
>> +config RAID_ATTRS
>> + tristate "RAID Transport Class"
>> + default n
>> + depends on BLOCK && SCSI
>> + ---help---
>> + Provides RAID
>> +
>
> This will fix the error, but it's not quite the right thing to do. the
> RAID class should be independent of SCSI, but it wants to do a SCSI
> check if SCSI is compiled in the matching routines. This gives us a
> nasty dependency, the condition being that the raid class must be m if
> SCSI is m.
>
> I think this patch does the right thing. Can someone test it on the
> config checker? Or I can just put it in linux-next and have Stephen's
> builds do it.
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Thanks for the patch.
> Thanks,
>
> James
>
> ---
>
> diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
> index 9191d1e..75f2336 100644
> --- a/drivers/scsi/Kconfig
> +++ b/drivers/scsi/Kconfig
> @@ -1,9 +1,15 @@
> menu "SCSI device support"
>
> +config SCSI_MOD
> + tristate
> + default y if SCSI=n || SCSI=y
> + default m if SCSI=m
> +
> config RAID_ATTRS
> tristate "RAID Transport Class"
> default n
> depends on BLOCK
> + depends on SCSI_MOD
> ---help---
> Provides RAID
>
> diff --git a/drivers/scsi/raid_class.c b/drivers/scsi/raid_class.c
> index bd88349..2c146b4 100644
> --- a/drivers/scsi/raid_class.c
> +++ b/drivers/scsi/raid_class.c
> @@ -63,6 +63,7 @@ static int raid_match(struct attribute_container *cont, struct device *dev)
> * emulated RAID devices, so start with SCSI */
> struct raid_internal *i = ac_to_raid_internal(cont);
>
> +#if defined(CONFIG_SCSI) || defined(CONFIG_SCSI_MODULE)
> if (scsi_is_sdev_device(dev)) {
> struct scsi_device *sdev = to_scsi_device(dev);
>
> @@ -71,6 +72,7 @@ static int raid_match(struct attribute_container *cont, struct device *dev)
>
> return i->f->is_raid(dev);
> }
> +#endif
> /* FIXME: look at other subsystems too */
> return 0;
> }
>
>
--
~Randy
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2010-03-03 16:56 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20100219174711.5e7cc7be.sfr@canb.auug.org.au>
2010-02-19 17:21 ` linux-next: Tree for February 19 (scsi/mpt2sas/raid_class) Randy Dunlap
2010-02-22 3:46 ` [PATCH -next] scsi: RAID_ATTRS depends on SCSI Randy Dunlap
2010-03-02 11:26 ` [origin tree build failure] " Ingo Molnar
2010-03-02 23:30 ` Stephen Rothwell
2010-03-03 5:36 ` James Bottomley
2010-03-03 6:17 ` Stephen Rothwell
2010-03-03 16:56 ` Randy Dunlap
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox