* [PATCH 0/5] [SCSI] scsi_dh_alua: fixes and new dev support
@ 2011-01-05 21:00 Mike Snitzer
  2011-01-05 21:00 ` [PATCH 1/5] [SCSI] scsi_dh_alua: fix submit_stpg return Mike Snitzer
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Mike Snitzer @ 2011-01-05 21:00 UTC (permalink / raw)
  To: James Bottomley; +Cc: linux-scsi, Mike Snitzer
James,
I'm sheparding these fixes and new dev support on behalf of Intel,
Promise and NetApp.  Please review and queue for 2.6.39 if you're OK
with the changes.
Thanks,
Mike
Ilgu Hong (1):
  scsi_dh_alua: Add Promise VTrak to dev list
Joseph Gruher (3):
  scsi_dh_alua: fix submit_stpg return
  scsi_dh_alua: fix deadlock in stpg_endio
  scsi_dh_alua: fix stpg_endio group state reporting
Mike Snitzer (1):
  scsi_dh_alua: add scalable ONTAP lun to dev list
 drivers/scsi/device_handler/scsi_dh_alua.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)
-- 
1.7.3.4
^ permalink raw reply	[flat|nested] 8+ messages in thread
* [PATCH 1/5] [SCSI] scsi_dh_alua: fix submit_stpg return
  2011-01-05 21:00 [PATCH 0/5] [SCSI] scsi_dh_alua: fixes and new dev support Mike Snitzer
@ 2011-01-05 21:00 ` Mike Snitzer
  2011-01-05 21:00 ` [PATCH 2/5] [SCSI] scsi_dh_alua: fix deadlock in stpg_endio Mike Snitzer
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Mike Snitzer @ 2011-01-05 21:00 UTC (permalink / raw)
  To: James Bottomley; +Cc: linux-scsi, Joseph Gruher, Ilgu Hong, Mike Snitzer
From: Joseph Gruher <joseph.r.gruher@intel.com>
submit_stpg() will always return failure so alua_activate() will report
failure via dm-multipath callback function.  Even though the stpg fired
successfuly dm-multipath does not know and always fails to change the
valid path.
By returning SCSI_DH_OK we're now skipping alua_activate()'s call to
activate_complete 'fn'.  But this is fine because stpg_endio() will call
it via h->callback_fn().
Signed-off-by: Joseph Gruher <joseph.r.gruher@intel.com>
Signed-off-by: Ilgu Hong <ilgu.hong@promise.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
---
 drivers/scsi/device_handler/scsi_dh_alua.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/device_handler/scsi_dh_alua.c
index 6b72932..afb1d05 100644
--- a/drivers/scsi/device_handler/scsi_dh_alua.c
+++ b/drivers/scsi/device_handler/scsi_dh_alua.c
@@ -303,7 +303,6 @@ done:
 static unsigned submit_stpg(struct alua_dh_data *h)
 {
 	struct request *rq;
-	int err = SCSI_DH_RES_TEMP_UNAVAIL;
 	int stpg_len = 8;
 	struct scsi_device *sdev = h->sdev;
 
@@ -332,7 +331,7 @@ static unsigned submit_stpg(struct alua_dh_data *h)
 	rq->end_io_data = h;
 
 	blk_execute_rq_nowait(rq->q, NULL, rq, 1, stpg_endio);
-	return err;
+	return SCSI_DH_OK;
 }
 
 /*
-- 
1.7.3.4
^ permalink raw reply related	[flat|nested] 8+ messages in thread
* [PATCH 2/5] [SCSI] scsi_dh_alua: fix deadlock in stpg_endio
  2011-01-05 21:00 [PATCH 0/5] [SCSI] scsi_dh_alua: fixes and new dev support Mike Snitzer
  2011-01-05 21:00 ` [PATCH 1/5] [SCSI] scsi_dh_alua: fix submit_stpg return Mike Snitzer
@ 2011-01-05 21:00 ` Mike Snitzer
  2011-01-05 21:00 ` [PATCH 3/5] [SCSI] scsi_dh_alua: fix stpg_endio group state reporting Mike Snitzer
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Mike Snitzer @ 2011-01-05 21:00 UTC (permalink / raw)
  To: James Bottomley
  Cc: Joseph Gruher, Mike Snitzer, Ilgu Hong, linux-scsi, stable
From: Joseph Gruher <joseph.r.gruher@intel.com>
The use of blk_execute_rq_nowait() implies __blk_put_request() is needed
in stpg_endio() rather than blk_put_request() -- blk_finish_request() is
called with queue lock already held.
Signed-off-by: Joseph Gruher <joseph.r.gruher@intel.com>
Signed-off-by: Ilgu Hong <ilgu.hong@promise.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Cc: stable@kernel.org
---
 drivers/scsi/device_handler/scsi_dh_alua.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/device_handler/scsi_dh_alua.c
index afb1d05..ba3c649 100644
--- a/drivers/scsi/device_handler/scsi_dh_alua.c
+++ b/drivers/scsi/device_handler/scsi_dh_alua.c
@@ -285,7 +285,8 @@ static void stpg_endio(struct request *req, int error)
 			    print_alua_state(h->state));
 	}
 done:
-	blk_put_request(req);
+	req->end_io_data = NULL;
+	__blk_put_request(req->q, req);
 	if (h->callback_fn) {
 		h->callback_fn(h->callback_data, err);
 		h->callback_fn = h->callback_data = NULL;
-- 
1.7.3.4
^ permalink raw reply related	[flat|nested] 8+ messages in thread
* [PATCH 3/5] [SCSI] scsi_dh_alua: fix stpg_endio group state reporting
  2011-01-05 21:00 [PATCH 0/5] [SCSI] scsi_dh_alua: fixes and new dev support Mike Snitzer
  2011-01-05 21:00 ` [PATCH 1/5] [SCSI] scsi_dh_alua: fix submit_stpg return Mike Snitzer
  2011-01-05 21:00 ` [PATCH 2/5] [SCSI] scsi_dh_alua: fix deadlock in stpg_endio Mike Snitzer
@ 2011-01-05 21:00 ` Mike Snitzer
  2011-01-05 21:00 ` [PATCH 4/5] [SCSI] scsi_dh_alua: Add Promise VTrak to dev list Mike Snitzer
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Mike Snitzer @ 2011-01-05 21:00 UTC (permalink / raw)
  To: James Bottomley; +Cc: linux-scsi, Joseph Gruher, Ilgu Hong, Mike Snitzer
From: Joseph Gruher <joseph.r.gruher@intel.com>
Initialize stpg_endio() 'err' to SCSI_DH_OK and only change it to
SCSI_DH_IO accordingly.  This allows the switching of target group state
to be properly reported when no error has occurred.
Signed-off-by: Joseph Gruher <joseph.r.gruher@intel.com>
Signed-off-by: Ilgu Hong <ilgu.hong@promise.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
---
 drivers/scsi/device_handler/scsi_dh_alua.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/device_handler/scsi_dh_alua.c
index ba3c649..9bd2c8a 100644
--- a/drivers/scsi/device_handler/scsi_dh_alua.c
+++ b/drivers/scsi/device_handler/scsi_dh_alua.c
@@ -253,13 +253,15 @@ static void stpg_endio(struct request *req, int error)
 {
 	struct alua_dh_data *h = req->end_io_data;
 	struct scsi_sense_hdr sense_hdr;
-	unsigned err = SCSI_DH_IO;
+	unsigned err = SCSI_DH_OK;
 
 	if (error || host_byte(req->errors) != DID_OK ||
-			msg_byte(req->errors) != COMMAND_COMPLETE)
+			msg_byte(req->errors) != COMMAND_COMPLETE) {
+		err = SCSI_DH_IO;
 		goto done;
+	}
 
-	if (err == SCSI_DH_IO && h->senselen > 0) {
+	if (h->senselen > 0) {
 		err = scsi_normalize_sense(h->sense, SCSI_SENSE_BUFFERSIZE,
 					   &sense_hdr);
 		if (!err) {
-- 
1.7.3.4
^ permalink raw reply related	[flat|nested] 8+ messages in thread
* [PATCH 4/5] [SCSI] scsi_dh_alua: Add Promise VTrak to dev list
  2011-01-05 21:00 [PATCH 0/5] [SCSI] scsi_dh_alua: fixes and new dev support Mike Snitzer
                   ` (2 preceding siblings ...)
  2011-01-05 21:00 ` [PATCH 3/5] [SCSI] scsi_dh_alua: fix stpg_endio group state reporting Mike Snitzer
@ 2011-01-05 21:00 ` Mike Snitzer
  2011-01-05 21:00 ` [PATCH 5/5] [SCSI] scsi_dh_alua: add scalable ONTAP lun " Mike Snitzer
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Mike Snitzer @ 2011-01-05 21:00 UTC (permalink / raw)
  To: James Bottomley; +Cc: linux-scsi, Ilgu Hong, Joseph Gruher, Mike Snitzer
From: Ilgu Hong <ilgu.hong@promise.com>
Adds Promise VTrak devices to the ALUA device handler.
Signed-off-by: Ilgu Hong <ilgu.hong@promise.com>
Signed-off-by: Joseph Gruher <joseph.r.gruher@intel.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
---
 drivers/scsi/device_handler/scsi_dh_alua.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/device_handler/scsi_dh_alua.c
index 9bd2c8a..c1fd09d 100644
--- a/drivers/scsi/device_handler/scsi_dh_alua.c
+++ b/drivers/scsi/device_handler/scsi_dh_alua.c
@@ -733,6 +733,7 @@ static const struct scsi_dh_devlist alua_dev_list[] = {
 	{"Intel", "Multi-Flex"},
 	{"NETAPP", "LUN"},
 	{"AIX", "NVDISK"},
+	{"Promise", "VTrak"},
 	{NULL, NULL}
 };
 
-- 
1.7.3.4
^ permalink raw reply related	[flat|nested] 8+ messages in thread
* [PATCH 5/5] [SCSI] scsi_dh_alua: add scalable ONTAP lun to dev list
  2011-01-05 21:00 [PATCH 0/5] [SCSI] scsi_dh_alua: fixes and new dev support Mike Snitzer
                   ` (3 preceding siblings ...)
  2011-01-05 21:00 ` [PATCH 4/5] [SCSI] scsi_dh_alua: Add Promise VTrak to dev list Mike Snitzer
@ 2011-01-05 21:00 ` Mike Snitzer
  2011-01-05 21:15 ` [PATCH 0/5] [SCSI] scsi_dh_alua: fixes and new dev support Mike Snitzer
  2011-01-06  0:37 ` Nicholas A. Bellinger
  6 siblings, 0 replies; 8+ messages in thread
From: Mike Snitzer @ 2011-01-05 21:00 UTC (permalink / raw)
  To: James Bottomley; +Cc: linux-scsi, Mike Snitzer, Martin George, Mike Christie
Currently NetApp's VID/PID details in the INQUIRY response shows up as
'NETAPP' and 'LUN'.  With upcoming scalable SAN ONTAP version on NetApp
controllers, the PID entry alone is being modified to 'LUN C-Mode' (to
distinguish current ONTAP LUNs from scalable ONTAP LUNs).
'LUN' would still suffice for matching 'LUN C-Mode' but best to
explicitly add these new NetApp LUNs to the device list.
Reported-by: Martin George <marting@netapp.com>
Acked-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
---
 drivers/scsi/device_handler/scsi_dh_alua.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/device_handler/scsi_dh_alua.c
index c1fd09d..5b6f9ab 100644
--- a/drivers/scsi/device_handler/scsi_dh_alua.c
+++ b/drivers/scsi/device_handler/scsi_dh_alua.c
@@ -732,6 +732,7 @@ static const struct scsi_dh_devlist alua_dev_list[] = {
 	{"Pillar", "Axiom" },
 	{"Intel", "Multi-Flex"},
 	{"NETAPP", "LUN"},
+	{"NETAPP", "LUN C-Mode"},
 	{"AIX", "NVDISK"},
 	{"Promise", "VTrak"},
 	{NULL, NULL}
-- 
1.7.3.4
^ permalink raw reply related	[flat|nested] 8+ messages in thread
* Re: [PATCH 0/5] [SCSI] scsi_dh_alua: fixes and new dev support
  2011-01-05 21:00 [PATCH 0/5] [SCSI] scsi_dh_alua: fixes and new dev support Mike Snitzer
                   ` (4 preceding siblings ...)
  2011-01-05 21:00 ` [PATCH 5/5] [SCSI] scsi_dh_alua: add scalable ONTAP lun " Mike Snitzer
@ 2011-01-05 21:15 ` Mike Snitzer
  2011-01-06  0:37 ` Nicholas A. Bellinger
  6 siblings, 0 replies; 8+ messages in thread
From: Mike Snitzer @ 2011-01-05 21:15 UTC (permalink / raw)
  To: James Bottomley; +Cc: linux-scsi
On Wed, Jan 05 2011 at  4:00pm -0500,
Mike Snitzer <snitzer@redhat.com> wrote:
> James,
> 
> I'm sheparding these fixes and new dev support ...
shepherding even ;)
> Please review and queue for 2.6.39 if you're OK
> with the changes.
And I meant 2.6.38..
Mike
^ permalink raw reply	[flat|nested] 8+ messages in thread
* Re: [PATCH 0/5] [SCSI] scsi_dh_alua: fixes and new dev support
  2011-01-05 21:00 [PATCH 0/5] [SCSI] scsi_dh_alua: fixes and new dev support Mike Snitzer
                   ` (5 preceding siblings ...)
  2011-01-05 21:15 ` [PATCH 0/5] [SCSI] scsi_dh_alua: fixes and new dev support Mike Snitzer
@ 2011-01-06  0:37 ` Nicholas A. Bellinger
  6 siblings, 0 replies; 8+ messages in thread
From: Nicholas A. Bellinger @ 2011-01-06  0:37 UTC (permalink / raw)
  To: Mike Snitzer; +Cc: James Bottomley, linux-scsi, Mike Christie
On Wed, 2011-01-05 at 16:00 -0500, Mike Snitzer wrote:
> James,
> 
> I'm sheparding these fixes and new dev support on behalf of Intel,
> Promise and NetApp.  Please review and queue for 2.6.39 if you're OK
> with the changes.
> 
> Thanks,
> Mike
> 
> Ilgu Hong (1):
>   scsi_dh_alua: Add Promise VTrak to dev list
> 
> Joseph Gruher (3):
>   scsi_dh_alua: fix submit_stpg return
>   scsi_dh_alua: fix deadlock in stpg_endio
>   scsi_dh_alua: fix stpg_endio group state reporting
> 
> Mike Snitzer (1):
>   scsi_dh_alua: add scalable ONTAP lun to dev list
> 
>  drivers/scsi/device_handler/scsi_dh_alua.c |   16 ++++++++++------
>  1 files changed, 10 insertions(+), 6 deletions(-)
> 
Hi Mike and James,
Would you mind including the following patch to add support for the
target virtual backends drivers that natively support explict/implict
ALUA to save the extra explict multipath configuration..?
Thanks,
Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org>
diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/device_handler/scsi_dh_alua.c
index 6b72932..dbf6c1a 100644
--- a/drivers/scsi/device_handler/scsi_dh_alua.c
+++ b/drivers/scsi/device_handler/scsi_dh_alua.c
@@ -731,6 +731,10 @@ static const struct scsi_dh_devlist alua_dev_list[] = {
        {"Intel", "Multi-Flex"},
        {"NETAPP", "LUN"},
        {"AIX", "NVDISK"},
+       {"LIO-ORG", "IBLOCK"},
+       {"LIO-ORG", "FILEIO"},
+       {"LIO-ORG", "RAMDISK-MCP"},
+       {"LIO-ORG", "RAMDISK-DR"},
        {NULL, NULL}
 };
 
^ permalink raw reply related	[flat|nested] 8+ messages in thread
end of thread, other threads:[~2011-01-06  0:43 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-05 21:00 [PATCH 0/5] [SCSI] scsi_dh_alua: fixes and new dev support Mike Snitzer
2011-01-05 21:00 ` [PATCH 1/5] [SCSI] scsi_dh_alua: fix submit_stpg return Mike Snitzer
2011-01-05 21:00 ` [PATCH 2/5] [SCSI] scsi_dh_alua: fix deadlock in stpg_endio Mike Snitzer
2011-01-05 21:00 ` [PATCH 3/5] [SCSI] scsi_dh_alua: fix stpg_endio group state reporting Mike Snitzer
2011-01-05 21:00 ` [PATCH 4/5] [SCSI] scsi_dh_alua: Add Promise VTrak to dev list Mike Snitzer
2011-01-05 21:00 ` [PATCH 5/5] [SCSI] scsi_dh_alua: add scalable ONTAP lun " Mike Snitzer
2011-01-05 21:15 ` [PATCH 0/5] [SCSI] scsi_dh_alua: fixes and new dev support Mike Snitzer
2011-01-06  0:37 ` Nicholas A. Bellinger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).