James Bottomley | 20 Dec 17:41 2014

[GIT PULL] Final round of SCSI updates for the 3.18+ merge window

This is a much shorter set of patches that were on the go but didn't
make it in to the early pull request for the merge window.  It's really
a set of bug fixes plus some final cleanup work on the new tag queue
API.

The patch is available here:

git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git scsi-for-linus

The short changelog is:

Boris Bodemann (1):
      esas2r: Correct typos of "validate" in a comment

Brian King (2):
      ipr: set scsi_level correctly for disk arrays
      ipr: add support for async scanning to speed up boot

Christoph Hellwig (7):
      fc: FCP_PTA_SIMPLE is 0
      ibmvfc: remove unused tag variable
      scsi: remove MSG_*_TAG defines
      scsi: remove scsi_set_tag_type
      scsi: remove scsi_get_tag_type
      scsi: never drop to untagged mode during queue ramp down
      scsi: remove ->change_queue_type method

Douglas Gilbert (2):
      scsi_debug: improve driver description in Kconfig
      scsi_debug: fix compare and write errors
(Continue reading)

Rickard Strandqvist | 20 Dec 17:36 2014
Picon

[PATCH] scsi: arm: cumana_1.c: Remove unused function

Remove the function cumanascsi_setup() that is not used anywhere.

This was partially found by using a static code analysis program called cppcheck.

Signed-off-by: Rickard Strandqvist <rickard_strandqvist <at> spectrumdigital.se>
---
 drivers/scsi/arm/cumana_1.c |    4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/scsi/arm/cumana_1.c b/drivers/scsi/arm/cumana_1.c
index 8ef810a..7c90d9c 100644
--- a/drivers/scsi/arm/cumana_1.c
+++ b/drivers/scsi/arm/cumana_1.c
 <at>  <at>  -38,10 +38,6  <at>  <at> 

 #include "../NCR5380.h"

-void cumanascsi_setup(char *str, int *ints)
-{
-}
-
 const char *cumanascsi_info(struct Scsi_Host *spnt)
 {
 	return "";
--

-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo <at> vger.kernel.org
(Continue reading)

Hannes Reinecke | 19 Dec 15:40 2014
Picon

[LSF/MM TOPIC] ZAC/ZBC Update

Hi all,

(my favourite topic again :-)

I'd like to give a short update for ZAC/ZBC implementation.
The T10 and T13 standards have been updated with some features
like SATA autosense which requires changes to the various subsystems
and the implementation itself.

These features would also allow for a simpler ZBC implementation,
but would require a more in-depth analysis of the filesystem
behaviour. Additionally the zone model has been modified, which
would require some changes to the block layer when formatting the I/O.

Also I'd like to discuss if and how generic filesystems could be
supported on ZBC drives.

Cheers,

Hannes
--

-- 
Dr. Hannes Reinecke		               zSeries & Storage
hare <at> suse.de			               +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)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
(Continue reading)

Bruno Prémont | 19 Dec 10:29 2014

[Patch] Fix regression in 3.18 caused by e05fe29248 qla2xxx: Honor FCP_RSP retry delay timer field.

Commit e05fe29248 (qla2xxx: Honor FCP_RSP retry delay timer field.)
causes systems to busy-wait for about 3 minutes after boot prior to
detecting SAN disks.

During this wait period one kworker is running full-time
(though /proc/≤pid>/stack has no useful data). Another kworker is
waiting for IO to complete during that whole time period.

Looking at drivers/scsi/qla2xxx/qla_os.c, fcport->retry_delay_timestamp
has a special value of 0 though that 0 value forces system to wait when
jiffies is very large value (e.g. 4294952605 - "negative" value when
signed on 32bit systems).

Signed-off-by: Bruno Prémont <bonbons <at> linux-vserver.org>
---
This fix probably still misses the special case when retry delay wants
jiffies to wrap around to 0...

 drivers/scsi/qla2xxx/qla_os.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index db3dbd9..1df4c66 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
 <at>  <at>  -735,7 +735,9  <at>  <at>  qla2xxx_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *cmd)
 	 * Return target busy if we've received a non-zero retry_delay_timer
 	 * in a FCP_RSP.
 	 */
-	if (time_after(jiffies, fcport->retry_delay_timestamp))
(Continue reading)

John Soni Jose | 20 Dec 01:54 2014

[PATCH V2 4/4] be2iscsi : Bump the driver version

 Bump the driver version

Signed-off-by: John Soni Jose <sony.john-n <at> emulex.com>
Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal <at> emulex.com>
---
 drivers/scsi/be2iscsi/be_main.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/scsi/be2iscsi/be_main.h b/drivers/scsi/be2iscsi/be_main.h
index 0aa0cb3..ee978be 100644
--- a/drivers/scsi/be2iscsi/be_main.h
+++ b/drivers/scsi/be2iscsi/be_main.h
 <at>  <at>  -36,7 +36,7  <at>  <at> 
 #include <scsi/scsi_transport_iscsi.h>

 #define DRV_NAME		"be2iscsi"
-#define BUILD_STR		"10.4.114.0"
+#define BUILD_STR		"10.4.200.0"
 #define BE_NAME			"Emulex OneConnect" \
 				"Open-iSCSI Driver version" BUILD_STR
 #define DRV_DESC		BE_NAME " " "Driver"
--

-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

(Continue reading)

John Soni Jose | 20 Dec 01:53 2014

[PATCH V2 3/4] be2iscsi : Fix memory leak in the unload path

 Driver was not freeing the DMA memory allocated for EQ/CQ in the
 unload path. This patch frees the DMA memory during the driver unload.

Signed-off-by: John Soni Jose <sony.john-n <at> emulex.com>
Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal <at> emulex.com>
---
 drivers/scsi/be2iscsi/be_main.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/be2iscsi/be_main.c b/drivers/scsi/be2iscsi/be_main.c
index 2f5eb9c..93c4d07 100644
--- a/drivers/scsi/be2iscsi/be_main.c
+++ b/drivers/scsi/be2iscsi/be_main.c
 <at>  <at>  -3748,8 +3748,10  <at>  <at>  static void hwi_cleanup(struct beiscsi_hba *phba)

 	for (i = 0; i < (phba->num_cpus); i++) {
 		q = &phwi_context->be_cq[i];
-		if (q->created)
+		if (q->created) {
+			be_queue_free(phba, q);
 			beiscsi_cmd_q_destroy(ctrl, q, QTYPE_CQ);
+		}
 	}

 	be_mcc_queues_destroy(phba);
 <at>  <at>  -3759,8 +3761,10  <at>  <at>  static void hwi_cleanup(struct beiscsi_hba *phba)
 		eq_for_mcc = 0;
 	for (i = 0; i < (phba->num_cpus + eq_for_mcc); i++) {
 		q = &phwi_context->be_eq[i].q;
-		if (q->created)
(Continue reading)

John Soni Jose | 20 Dec 01:53 2014

[PATCH V2 2/4] be2iscsi : Fix the PCI request region reserving.

 Reserve the device PCI I/O and Memory resources.

Signed-off-by: John Soni Jose <sony.john-n <at> emulex.com>
Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal <at> emulex.com>
---
 drivers/scsi/be2iscsi/be_main.c |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/drivers/scsi/be2iscsi/be_main.c b/drivers/scsi/be2iscsi/be_main.c
index 98490da..2f5eb9c 100644
--- a/drivers/scsi/be2iscsi/be_main.c
+++ b/drivers/scsi/be2iscsi/be_main.c
 <at>  <at>  -670,14 +670,20  <at>  <at>  static int beiscsi_enable_pci(struct pci_dev *pcidev)
 		return ret;
 	}

+	ret = pci_request_regions(pcidev, DRV_NAME);
+	if (ret) {
+		dev_err(&pcidev->dev,
+				"beiscsi_enable_pci - request region failed\n");
+		goto pci_dev_disable;
+	}
+
 	pci_set_master(pcidev);
 	ret = pci_set_dma_mask(pcidev, DMA_BIT_MASK(64));
 	if (ret) {
 		ret = pci_set_dma_mask(pcidev, DMA_BIT_MASK(32));
 		if (ret) {
 			dev_err(&pcidev->dev, "Could not set PCI DMA Mask\n");
-			pci_disable_device(pcidev);
(Continue reading)

John Soni Jose | 20 Dec 01:51 2014

[PATCH V2 1/4] be2iscsi : Fix the retry count for boot targets

 Increment the retry count to get the boot target info when
 port async event is received by the driver. Update sysfs enteries
 with the boot target  parameters.

Signed-off-by: Minh Tran <minhduc.tran <at> emulex.com>
Signed-off-by: John Soni Jose <sony.john-n <at> emulex.com>
Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal <at> emulex.com>
---
 drivers/scsi/be2iscsi/be_cmds.c |    4 ++++
 drivers/scsi/be2iscsi/be_main.c |   23 ++++++++++++++++++++---
 drivers/scsi/be2iscsi/be_main.h |    4 ++++
 3 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/be2iscsi/be_cmds.c b/drivers/scsi/be2iscsi/be_cmds.c
index 80d97f3..8e16c49 100644
--- a/drivers/scsi/be2iscsi/be_cmds.c
+++ b/drivers/scsi/be2iscsi/be_cmds.c
 <at>  <at>  -452,6 +452,7  <at>  <at>  void beiscsi_async_link_state_process(struct beiscsi_hba *phba,
 		    ((evt->port_link_status & ASYNC_EVENT_LOGICAL) &&
 		     (evt->port_fault == BEISCSI_PHY_LINK_FAULT_NONE))) {
 		phba->state = BE_ADAPTER_LINK_UP | BE_ADAPTER_CHECK_BOOT;
+		phba->get_boot = BE_GET_BOOT_RETRIES;

 		beiscsi_log(phba, KERN_ERR,
 			    BEISCSI_LOG_CONFIG | BEISCSI_LOG_INIT,
 <at>  <at>  -480,6 +481,7  <at>  <at>  int beiscsi_process_mcc(struct beiscsi_hba *phba)
 				case ASYNC_EVENT_NEW_ISCSI_CONN:
 				case ASYNC_EVENT_NEW_TCP_CONN:
 					phba->state |= BE_ADAPTER_CHECK_BOOT;
+					phba->get_boot = BE_GET_BOOT_RETRIES;
(Continue reading)

John Soni Jose | 20 Dec 01:52 2014

[PATCH V2 2/4] be2iscsi : Fix the PCI request region reserving.

 Reserve the device PCI I/O and Memory resources.

Signed-off-by: John Soni Jose <sony.john-n <at> emulex.com>
Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal <at> emulex.com>
---
 drivers/scsi/be2iscsi/be_main.c |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/drivers/scsi/be2iscsi/be_main.c b/drivers/scsi/be2iscsi/be_main.c
index 98490da..2f5eb9c 100644
--- a/drivers/scsi/be2iscsi/be_main.c
+++ b/drivers/scsi/be2iscsi/be_main.c
 <at>  <at>  -670,14 +670,20  <at>  <at>  static int beiscsi_enable_pci(struct pci_dev *pcidev)
 		return ret;
 	}

+	ret = pci_request_regions(pcidev, DRV_NAME);
+	if (ret) {
+		dev_err(&pcidev->dev,
+				"beiscsi_enable_pci - request region failed\n");
+		goto pci_dev_disable;
+	}
+
 	pci_set_master(pcidev);
 	ret = pci_set_dma_mask(pcidev, DMA_BIT_MASK(64));
 	if (ret) {
 		ret = pci_set_dma_mask(pcidev, DMA_BIT_MASK(32));
 		if (ret) {
 			dev_err(&pcidev->dev, "Could not set PCI DMA Mask\n");
-			pci_disable_device(pcidev);
(Continue reading)

John Soni Jose | 20 Dec 01:51 2014

[PATCH V2 0/4] be2iscsi driver update to 10.4.200.0


  The patchset updates be2iscsi driver  to 10.4.200.0.
  These patches are generated aganist the SCSI for-next branch.

  The changes suggested by Mike C is also done in this patch-set.
  Please ingnore the earlier sent patches.

John Soni Jose (4):
  be2iscsi : Fix the retry count for boot targets
  be2iscsi : Fix the PCI request region reserving.
  be2iscsi : Fix memory leak in the unload path
  be2iscsi : Bump the driver version

 drivers/scsi/be2iscsi/be_cmds.c |    4 +++
 drivers/scsi/be2iscsi/be_main.c |   53 ++++++++++++++++++++++++++++++++------
 drivers/scsi/be2iscsi/be_main.h |    6 +++-
 3 files changed, 53 insertions(+), 10 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Giridhar Malavali | 19 Dec 02:54 2014

Re: Delayed FC rport removal causes errors on other device

Tony, 

We will get back to you after looking at the logs.

-- Giri

On 12/18/14 8:37 AM, "Tony Battersby" <tonyb <at> cybernetics.com> wrote:

>On 12/17/2014 06:17 PM, Giridhar Malavali wrote:
>> Tony, 
>>
>> We will look into this further and get back to you.
>>
>> Do you have driver logs with extended error logging for this failure. If
>> not, can you please capture one and send it across.
>>
>>
>
>I have attached two logs - one log from the initiator during the
>initiator test that I described, and one log from the target during the
>target test that I described.  Please note that these are logs from two
>different test procedures, so you cannot correlate events from the
>initiator log with events from the target log.
>
>Thanks,
>Tony Battersby
>Cybernetics
>
>

(Continue reading)


Gmane