2015-11-23 12:46:31

by Peter Zijlstra

[permalink] [raw]
Subject: MPT2SAS boot fail... due to silently loosing the driver

Hi all,

Due to merging the MPT[23]SAS drivers (which undoubtedly is a good
thing) my .config automagically lost its MPT2SAS entries and didn't ask
for MPT3SAS because that was a pre-existing config which I didn't have
selected.

c84b06a48c4d ("mpt3sas: Single driver module which supports both SAS 2.0 & SAS 3.0 HBAs")

Please either create a fake MPT2SAS config that selects the MPT3SAS
driver, or rename the whole thing to MPT23SAS such that we at least get
a relevant question on oldconfig.

Thanks for wasting my morning playing with horribly slow booting
machines trying to figure out WTF it wouldn't go.

~ Peter


2015-11-24 07:51:52

by Christoph Hellwig

[permalink] [raw]
Subject: Re: MPT2SAS boot fail... due to silently loosing the driver

I wonder what the "classic" way to such transitions is. Adding a mpt2
option that just selects mpt3 sound easy, but might be very confusing.

2015-11-24 07:55:03

by Hannes Reinecke

[permalink] [raw]
Subject: Re: MPT2SAS boot fail... due to silently loosing the driver

On 11/24/2015 08:51 AM, Christoph Hellwig wrote:
> I wonder what the "classic" way to such transitions is. Adding a mpt2
> option that just selects mpt3 sound easy, but might be very confusing.
>
Personally, I would rename everything to 'mptXsas', and have the
original options map onto that.

Cheers,

Hannes
--
Dr. Hannes Reinecke zSeries & Storage
[email protected] +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 N?rnberg
GF: F. Imend?rffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG N?rnberg)

2015-11-24 07:56:06

by Christoph Hellwig

[permalink] [raw]
Subject: Re: MPT2SAS boot fail... due to silently loosing the driver

Send a patch so we can understand what you mean :)

2015-11-24 08:04:35

by Ingo Molnar

[permalink] [raw]
Subject: Re: MPT2SAS boot fail... due to silently loosing the driver


* Christoph Hellwig <[email protected]> wrote:

> I wonder what the "classic" way to such transitions is. Adding a mpt2 option
> that just selects mpt3 sound easy, but might be very confusing.

I was hit by the same problem, and wasted some time on it before Peter did his
time wasting, so a solution would be nice.

An interactive SCSI_MPT2SAS option has to exist in any case, so that we can
migrate those people who have it configured - and its help text should explain
that it's a legacy setting that should not be used anymore. That won't be
confusing.

Then the MPT3 section can do something like:

# Default to enabled if the config has the old driver enabled:
default y if SCSI_MPT2SAS

Doing this will also help bisectability: right now we cannot bisect on that system
without figuring out whether to enable MPT2 or MPT3 at every single bisection
step.

Don't ever break configs this way. Please!

Also, please pick hardware version invariant names - do we want to go through this
again when MPT4 is introduced?

Thanks,

Ingo

2015-11-24 12:02:55

by Martin K. Petersen

[permalink] [raw]
Subject: Re: MPT2SAS boot fail... due to silently loosing the driver

>>>>> "Peter" == Peter Zijlstra <[email protected]> writes:

Peter> Please either create a fake MPT2SAS config that selects the
Peter> MPT3SAS driver, or rename the whole thing to MPT23SAS such that
Peter> we at least get a relevant question on oldconfig.

Sorry about that, Peter.

I get bitten by oldconfig all the time so I have a script to manage all
my configs. But it it would be nice if we had a way to express config
options transitions in kbuild.

I guess we could do something like the following and let it sit for a
release cycle to help people transition. Bit of a hack, but it worked
for me in my quick testing...

--
Martin K. Petersen Oracle Linux Engineering

diff --git a/drivers/scsi/mpt3sas/Kconfig b/drivers/scsi/mpt3sas/Kconfig
index 29061467cc17..901c97f1e368 100644
--- a/drivers/scsi/mpt3sas/Kconfig
+++ b/drivers/scsi/mpt3sas/Kconfig
@@ -48,6 +48,13 @@ config SCSI_MPT3SAS
---help---
This driver supports PCI-Express SAS 12Gb/s Host Adapters.

+config SCSI_MPT2SAS
+ tristate
+ default n
+ select SCSI_MPT3SAS
+ ---help---
+ Dummy config option for backwards compatiblity.
+
config SCSI_MPT2SAS_MAX_SGE
int "LSI MPT Fusion SAS 2.0 Max number of SG Entries (16 - 256)"
depends on PCI && SCSI && SCSI_MPT3SAS

2015-11-26 10:48:30

by Ingo Molnar

[permalink] [raw]
Subject: Re: MPT2SAS boot fail... due to silently loosing the driver


* Martin K. Petersen <[email protected]> wrote:

> >>>>> "Peter" == Peter Zijlstra <[email protected]> writes:
>
> Peter> Please either create a fake MPT2SAS config that selects the
> Peter> MPT3SAS driver, or rename the whole thing to MPT23SAS such that
> Peter> we at least get a relevant question on oldconfig.
>
> Sorry about that, Peter.
>
> I get bitten by oldconfig all the time so I have a script to manage all
> my configs. But it it would be nice if we had a way to express config
> options transitions in kbuild.
>
> I guess we could do something like the following and let it sit for a
> release cycle to help people transition. Bit of a hack, but it worked
> for me in my quick testing...
>
> --
> Martin K. Petersen Oracle Linux Engineering
>
> diff --git a/drivers/scsi/mpt3sas/Kconfig b/drivers/scsi/mpt3sas/Kconfig
> index 29061467cc17..901c97f1e368 100644
> --- a/drivers/scsi/mpt3sas/Kconfig
> +++ b/drivers/scsi/mpt3sas/Kconfig
> @@ -48,6 +48,13 @@ config SCSI_MPT3SAS
> ---help---
> This driver supports PCI-Express SAS 12Gb/s Host Adapters.
>
> +config SCSI_MPT2SAS
> + tristate
> + default n
> + select SCSI_MPT3SAS
> + ---help---
> + Dummy config option for backwards compatiblity.

So I don't think this does what you expect it to do: non-interactive options will
be set to their defaults, regardless of what's in the oldconfig.

So you need to make it interactive, with a short help text that explains to users
that this is legacy option only, and that they should enable the MPT3SAS option if
they want to configure things manually.

i.e. something like:

+config SCSI_MPT2SAS
+ tristate "Legacy MPT2SAS config option"
+ default n
+ select SCSI_MPT3SAS
+ ---help---
+ Dummy config option for backwards compatiblity: configure the MPT3SAS
+ driver instead.

Thanks,

Ingo

2015-11-26 10:51:30

by Ingo Molnar

[permalink] [raw]
Subject: Re: MPT2SAS boot fail... due to silently loosing the driver


* Martin K. Petersen <[email protected]> wrote:

> I guess we could do something like the following and let it sit for a
> release cycle to help people transition. Bit of a hack, but it worked
> for me in my quick testing...

So I'm not sure how this could have worked for you in testing: try to set the
MPT2SAS option to =y in your .config:

CONFIG_SCSI_MPT2SAS=y

then run 'make oldconfig', and the option is disabled:

# CONFIG_SCSI_MPT2SAS is not set

The way to solve this is to make it an interactive option, with text to make sure
users don't mistake it for anything else than it is: a legacy/migration helper
config.

Thanks,

Ingo

2015-11-30 17:22:17

by Martin K. Petersen

[permalink] [raw]
Subject: Re: MPT2SAS boot fail... due to silently loosing the driver

>>>>> "Ingo" == Ingo Molnar <[email protected]> writes:

Ingo> So you need to make it interactive, with a short help text that
Ingo> explains to users that this is legacy option only, and that they
Ingo> should enable the MPT3SAS option if they want to configure things
Ingo> manually.

+config SCSI_MPT2SAS
+ tristate "Legacy MPT2SAS config option"
+ default n
+ select SCSI_MPT3SAS
+ ---help---
+ Dummy config option for backwards compatiblity: configure the MPT3SAS
+ driver instead.

That's fine with me.

Sreekanth/Christoph/James: Any objections?

--
Martin K. Petersen Oracle Linux Engineering

2015-11-30 17:24:37

by Christoph Hellwig

[permalink] [raw]
Subject: Re: MPT2SAS boot fail... due to silently loosing the driver

If that's been tested to work I'm fine with it.

2015-11-30 17:27:36

by James Bottomley

[permalink] [raw]
Subject: Re: MPT2SAS boot fail... due to silently loosing the driver

[cc to linux-scsi added]
On Mon, 2015-11-30 at 12:21 -0500, Martin K. Petersen wrote:
> >>>>> "Ingo" == Ingo Molnar <[email protected]> writes:
>
> Ingo> So you need to make it interactive, with a short help text that
> Ingo> explains to users that this is legacy option only, and that they
> Ingo> should enable the MPT3SAS option if they want to configure things
> Ingo> manually.
>
> +config SCSI_MPT2SAS
> + tristate "Legacy MPT2SAS config option"
> + default n
> + select SCSI_MPT3SAS
> + ---help---
> + Dummy config option for backwards compatiblity: configure the MPT3SAS
> + driver instead.
>
> That's fine with me.
>
> Sreekanth/Christoph/James: Any objections?

Looks OK, we probably need a removal timeframe for it as well. What
about removal in 4.6?

James


2015-12-01 09:49:56

by Sreekanth Reddy

[permalink] [raw]
Subject: Re: MPT2SAS boot fail... due to silently loosing the driver

On Mon, Nov 30, 2015 at 10:51 PM, Martin K. Petersen
<[email protected]> wrote:
>
> >>>>> "Ingo" == Ingo Molnar <[email protected]> writes:
>
> Ingo> So you need to make it interactive, with a short help text that
> Ingo> explains to users that this is legacy option only, and that they
> Ingo> should enable the MPT3SAS option if they want to configure things
> Ingo> manually.
>
> +config SCSI_MPT2SAS
> + tristate "Legacy MPT2SAS config option"
> + default n
> + select SCSI_MPT3SAS
> + ---help---
> + Dummy config option for backwards compatiblity: configure the MPT3SAS
> + driver instead.
>
> That's fine with me.
>
> Sreekanth/Christoph/James: Any objections?

[Sreekanth] Martin, I am fine with this change.

>
> --
> Martin K. Petersen Oracle Linux Engineering

2015-12-02 09:57:15

by Ingo Molnar

[permalink] [raw]
Subject: Re: MPT2SAS boot fail... due to silently loosing the driver


* Martin K. Petersen <[email protected]> wrote:

> >>>>> "Ingo" == Ingo Molnar <[email protected]> writes:
>
> Ingo> So you need to make it interactive, with a short help text that
> Ingo> explains to users that this is legacy option only, and that they
> Ingo> should enable the MPT3SAS option if they want to configure things
> Ingo> manually.
>
> +config SCSI_MPT2SAS
> + tristate "Legacy MPT2SAS config option"
> + default n
> + select SCSI_MPT3SAS
> + ---help---
> + Dummy config option for backwards compatiblity: configure the MPT3SAS
> + driver instead.
>
> That's fine with me.
>
> Sreekanth/Christoph/James: Any objections?

Acked-by: Ingo Molnar <[email protected]>

Could we get this upstream ASAP so that people testing later rc's don't lose their
settings?

Thanks!

Ingo