Skip to contentSkip to conversation

Add BLIST_REPORTLUN2 to EMC SYMMETRIX

PATCH James Bottomley 4 participants 5 messages Jul 1, 2009 – Jul 2, 2009 1 message not in the archive SCSI

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

James Bottomley

author maintainer
#1 lore raw
Quoted 8 lines · Jean Delvare

From: Kurt Garloff <[email protected]>

All EMC SYMMETRIX support REPORT_LUNS, even if configured to report SCSI-2 for whatever reason.

Quoted 6 lines

---
We have this fix in our SLES10 kernel for over a year now, I guess it's about time to get it upstream so that everyone benefits.

Patch already sent on:
* 2009-05-29

The SCSI mailing list doesn't find it.

drivers/scsi/scsi_devinfo.c static struct { · line 155

Quoted 11 lines
 drivers/scsi/scsi_devinfo.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/scsi/scsi_devinfo.c +1 -1
@@ -152,7 +152,7 @@ static struct {
 	{"DGC", "RAID", NULL, BLIST_SPARSELUN},	/* Dell PV 650F, storage on LUN 0 */
 	{"DGC", "DISK", NULL, BLIST_SPARSELUN},	/* Dell PV 650F, no storage on LUN 0 */
 	{"EMC",  "Invista", "*", BLIST_SPARSELUN | BLIST_LARGELUN},
-	{"EMC", "SYMMETRIX", NULL, BLIST_SPARSELUN | BLIST_LARGELUN | BLIST_FORCELUN},
+	{"EMC", "SYMMETRIX", NULL, BLIST_SPARSELUN | BLIST_LARGELUN | BLIST_REPORTLUN2},

You don't actually need SPARSE or LARGELUN ... that's implied by REPORTLUN2, so only REPORTLUN2 is needed here.

drivers/scsi/scsi_devinfo.c static struct { · line 158

Quoted 3 lines
drivers/scsi/scsi_devinfo.c +0 -0
 	{"EMULEX", "MD21/S2     ESDI", NULL, BLIST_SINGLELUN},
 	{"easyRAID", "16P", NULL, BLIST_NOREPORTLUN},
 	{"easyRAID", "X6P", NULL, BLIST_NOREPORTLUN},

James

#2 lore raw

James,

Quoted 11 lines · James Bottomley

drivers/scsi/scsi_devinfo.c static struct { · line 155

Quoted 8 lines
drivers/scsi/scsi_devinfo.c +1 -1
@@ -152,7 +152,7 @@ static struct {
 	{"DGC", "RAID", NULL, BLIST_SPARSELUN},	/* Dell PV 650F, storage on LUN 0 */
 	{"DGC", "DISK", NULL, BLIST_SPARSELUN},	/* Dell PV 650F, no storage on LUN 0 */
 	{"EMC",  "Invista", "*", BLIST_SPARSELUN | BLIST_LARGELUN},
-	{"EMC", "SYMMETRIX", NULL, BLIST_SPARSELUN | BLIST_LARGELUN | BLIST_FORCELUN},
+	{"EMC", "SYMMETRIX", NULL, BLIST_SPARSELUN | BLIST_LARGELUN | BLIST_REPORTLUN2},

You don't actually need SPARSE or LARGELUN ... that's implied by REPORTLUN2, so only REPORTLUN2 is needed here.

When I created the patch, all SYMMETRIXes that I had ever been exposed to did support REPORT_LUNs, but I was not sure that every single SYMMETRIX out there would actually support it. So in case some old SYMMETRIX would not and the kernel would fall back to sequential scanning, we would still find all LUNs by not dropping SPARSELUN and LARGELUN. (Dropping FORCELUN on the other hand was absolutely right; the flag is broken by design anyway and should never be used.)

So leaving in SPARSELUN and LARGELUN was not an oversight, but really trying to be conservative.

If you have additional insight (you positively know that every SYMMETRIX does support REPORT_LUNS) or you want to force possible devices that do not support it into the open by breaking them, then remove the two flags.

Quoted 3 lines

drivers/scsi/scsi_devinfo.c static struct { · line 158

Quoted 3 lines
drivers/scsi/scsi_devinfo.c +0 -0
 	{"EMULEX", "MD21/S2     ESDI", NULL, BLIST_SINGLELUN},
 	{"easyRAID", "16P", NULL, BLIST_NOREPORTLUN},
 	{"easyRAID", "X6P", NULL, BLIST_NOREPORTLUN},

Best,

Signature · 1 line
Kurt Garloff, VP OPS Partner Engineering -- Novell Inc.
#3 lore raw

There are still very old Symmetrix arrays out there that could be broken if we drop BLIST_SPARSELUN or BLIST_LARGELUN because they don't support REPORT_LUNS.

Regards,
Wayne.

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Kurt Garloff
Sent: Wednesday, July 01, 2009 3:42 PM
To: James Bottomley
Cc: Jean Delvare; [email protected]; Hannes Reinecke
Subject: Re: [PATCH] Add BLIST_REPORTLUN2 to EMC SYMMETRIX

James,

Quoted 4 lines · James Bottomley

drivers/scsi/scsi_devinfo.c static struct { · line 152

Quoted 4 lines
drivers/scsi/scsi_devinfo.c +0 -0
@@ -152,7 +152,7 @@ static struct {
 	{"DGC", "RAID", NULL, BLIST_SPARSELUN},	/* Dell PV 650F, storage

on LUN 0 */

Quoted 1 line

drivers/scsi/scsi_devinfo.c static struct { · line 153

Quoted 1 line
drivers/scsi/scsi_devinfo.c +0 -0
 	{"DGC", "DISK", NULL, BLIST_SPARSELUN},	/* Dell PV 650F, no

storage on LUN 0 */

Quoted 2 lines

drivers/scsi/scsi_devinfo.c static struct { · line 155

Quoted 2 lines
drivers/scsi/scsi_devinfo.c +0 -1
 	{"EMC",  "Invista", "*", BLIST_SPARSELUN | BLIST_LARGELUN},
-	{"EMC", "SYMMETRIX", NULL, BLIST_SPARSELUN | BLIST_LARGELUN |

BLIST_FORCELUN},

Quoted 1 line

drivers/scsi/scsi_devinfo.c static struct { · line 155

Quoted 1 line
drivers/scsi/scsi_devinfo.c +1 -0
+	{"EMC", "SYMMETRIX", NULL, BLIST_SPARSELUN | BLIST_LARGELUN |

BLIST_REPORTLUN2},

Quoted 3 lines

You don't actually need SPARSE or LARGELUN ... that's implied by REPORTLUN2, so only REPORTLUN2 is needed here.

When I created the patch, all SYMMETRIXes that I had ever been exposed to did support REPORT_LUNs, but I was not sure that every single SYMMETRIX out there would actually support it. So in case some old SYMMETRIX would not and the kernel would fall back to sequential scanning, we would still find all LUNs by not dropping SPARSELUN and LARGELUN. (Dropping FORCELUN on the other hand was absolutely right; the flag is broken by design anyway and should never be used.)

So leaving in SPARSELUN and LARGELUN was not an oversight, but really trying to be conservative.

If you have additional insight (you positively know that every SYMMETRIX does support REPORT_LUNS) or you want to force possible devices that do not support it into the open by breaking them, then remove the two flags.

Quoted 3 lines

drivers/scsi/scsi_devinfo.c static struct { · line 158

Quoted 3 lines
drivers/scsi/scsi_devinfo.c +0 -0
 	{"EMULEX", "MD21/S2     ESDI", NULL, BLIST_SINGLELUN},
 	{"easyRAID", "16P", NULL, BLIST_NOREPORTLUN},
 	{"easyRAID", "X6P", NULL, BLIST_NOREPORTLUN},

Best,

Signature · 1 line
Kurt Garloff, VP OPS Partner Engineering -- Novell Inc.
author maintainer
#4 lore raw
Quoted 3 lines · On Thu, 2009-07-02 at 10:38 -0400, [email protected] wrote:

There are still very old Symmetrix arrays out there that could be broken if we drop BLIST_SPARSELUN or BLIST_LARGELUN because they don't support REPORT_LUNS.

OK, as long as all the older arrays correctly return ILLEGAL REQUEST to a REPORT LUNS command, we'll be fine.

James

#5 lore raw
In reply to James Bottomley

Le mercredi 01 juillet 2009, James Bottomley a écrit :

Quoted 13 lines · Jean Delvare
Quoted 12 lines

From: Kurt Garloff <[email protected]>

All EMC SYMMETRIX support REPORT_LUNS, even if configured to report SCSI-2 for whatever reason.

---
We have this fix in our SLES10 kernel for over a year now, I guess it's about time to get it upstream so that everyone benefits.

Quoted 4 lines
Quoted 2 lines

Patch already sent on:
* 2009-05-29

The SCSI mailing list doesn't find it.

Indeed. Very strange, as my mailer is positive it did send it. Must have been lost on the road... sorry.

Signature · 6 lines
Jean Delvare
Suse L3
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html