linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PATCH] final pre -rc pieces of SCSI for 2.6.14
@ 2005-11-11 21:49 James Bottomley
  2005-11-11 22:23 ` Christoph Hellwig
  0 siblings, 1 reply; 6+ messages in thread
From: James Bottomley @ 2005-11-11 21:49 UTC (permalink / raw)
  To: Linus Torvalds, Andrew Morton; +Cc: SCSI Mailing List, Linux Kernel

This should be the final round of updates that I've been doing a few
integration tests on.

The patch should be available here (checked the permissions this time)

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

The short changelog is:

Adrian Bunk:
  o remove the obsolete SCSI qlogicisp driver

Alan Stern:
  o Fix refcount leak in scsi_report_lun_scan

Andrew Vasquez:
  o qla2xxx: Update version number to 8.01.03-k
  o qla2xxx: Correct ISP24xx soft-reset handling
  o qla2xxx: Correct additional posting issues during NVRAM accesses

Brian King:
  o ipr: Driver version 2.1.0
  o ipr: Better handle failure of adapter bringup commands
  o ipr: Increase ipr device scanning limits
  o ipr: New PCI Ids
  o pci: PCI ids for new ipr adapters
  o ipr: Support device reset to RAID disks
  o ipr: Support new device queueing model
  o ipr: New adapter error types
  o ipr: Handle device autosense
  o ipr: Module parm to disable RAID 0 auto create
  o ipr: Runtime reset
  o ipr: handle new adapter errors
  o ipr: Provide reset_adapter retry method for offlined adapters
  o ipr: Runtime debugging options
  o ipr: Fix adapter microcode update DMA mapping leak
  o ipr: Convert to use kzalloc
  o ipr: Write caching state host attribute
  o ipr: slave_alloc optimization
  o ipr: Prevent upper layer driver binding
  o ipr: Include all disks in supported list
  o ipr: Error logging cleanup
  o ipr: Handle unknown errors
  o ipr: Generic adapter error cleaup
  o ipr: Physical resource error logging macro
  o ipr: Cleanup error structures
  o ipr: Disk array rescanning fix

Christoph Hellwig:
  o remove Scsi_Device typedef
  o remove Scsi_Pointer typedef
  o remove Scsi_Host_Template typedef
  o aic79xx: remove scsi_assign_lock usage
  o aic7xxx: remove scsi_assign_lock usage
  o megaraid (legacy): remove scsi_assign_lock usage
  o megaraid_mbox: remove scsi_assign_lock usage
  o megaraid_sas: fix EH locking
  o use a completion in scsi_send_eh_cmnd
  o remove scsi_wait_req
  o remove Scsi_Host.eh_active
  o tidy up scsi_error_handler

edward goggin:
  o fix usb storage oops

Jack Hammer:
  o ips: remove "Version Matching"

James Bottomley:
  o Merge by hand (whitespace conflicts in libata.h)
  o sd: fix issue_flush
  o Merge by hand (conflicts between pending drivers and kfree cleanups)
  o raid class update
  o Fix transport class oops

Mark Haverkamp:
  o aacraid: Fix read capacity 16 return data

Mike Miller:
  o cciss: scsi error handling

Ravi Anand:
  o qla2xxx: Correct abort issue during loop-down state
  o qla2xxx: Correct loop-in-transition issues

Stefan Richter:
  o Documentation: typo in scsi/scsi_eh.txt

Willem Riede:
  o ide-scsi fails to call idescsi_check_condition for things like
"Medium not present"

The diffstat is:

 Documentation/scsi/qlogicisp.txt          |   30 
 b/Documentation/cciss.txt                 |   29 
 b/Documentation/scsi/00-INDEX             |    2 
 b/Documentation/scsi/qlogicfas.txt        |    3 
 b/Documentation/scsi/scsi_eh.txt          |    8 
 b/Documentation/scsi/scsi_mid_low_api.txt |    4 
 b/drivers/block/acsi.c                    |    1 
 b/drivers/block/cciss.c                   |  188 ++
 b/drivers/block/cciss.h                   |   11 
 b/drivers/block/cciss_scsi.c              |   82 +
 b/drivers/scsi/53c7xx.c                   |    6 
 b/drivers/scsi/53c7xx.h                   |    2 
 b/drivers/scsi/Kconfig                    |   29 
 b/drivers/scsi/Makefile                   |    1 
 b/drivers/scsi/NCR53C9x.c                 |   10 
 b/drivers/scsi/NCR53C9x.h                 |    6 
 b/drivers/scsi/NCR53c406a.c               |    4 
 b/drivers/scsi/a2091.c                    |    4 
 b/drivers/scsi/a2091.h                    |    2 
 b/drivers/scsi/a3000.c                    |    4 
 b/drivers/scsi/a3000.h                    |    2 
 b/drivers/scsi/aacraid/aachba.c           |   23 
 b/drivers/scsi/aacraid/commsup.c          |    4 
 b/drivers/scsi/advansys.c                 |    6 
 b/drivers/scsi/advansys.h                 |    2 
 b/drivers/scsi/aha152x.c                  |    4 
 b/drivers/scsi/aha1542.c                  |    4 
 b/drivers/scsi/aha1542.h                  |    2 
 b/drivers/scsi/aha1740.c                  |    2 
 b/drivers/scsi/aic7xxx/aic79xx_osm.c      |   37 
 b/drivers/scsi/aic7xxx/aic7xxx_osm.c      |   39 
 b/drivers/scsi/aic7xxx_old.c              |   18 
 b/drivers/scsi/amiga7xx.c                 |    8 
 b/drivers/scsi/amiga7xx.h                 |    2 
 b/drivers/scsi/arm/acornscsi.c            |    6 
 b/drivers/scsi/arm/acornscsi.h            |    2 
 b/drivers/scsi/arm/arxescsi.c             |    8 
 b/drivers/scsi/arm/cumana_1.c             |    2 
 b/drivers/scsi/arm/cumana_2.c             |    8 
 b/drivers/scsi/arm/ecoscsi.c              |    2 
 b/drivers/scsi/arm/eesox.c                |    8 
 b/drivers/scsi/arm/fas216.c               |   10 
 b/drivers/scsi/arm/fas216.h               |    8 
 b/drivers/scsi/arm/oak.c                  |    2 
 b/drivers/scsi/arm/powertec.c             |    6 
 b/drivers/scsi/arm/scsi.h                 |    8 
 b/drivers/scsi/atari_NCR5380.c            |    2 
 b/drivers/scsi/atari_scsi.c               |    4 
 b/drivers/scsi/atari_scsi.h               |    2 
 b/drivers/scsi/blz1230.c                  |    4 
 b/drivers/scsi/blz2060.c                  |    4 
 b/drivers/scsi/bvme6000.c                 |    4 
 b/drivers/scsi/bvme6000.h                 |    2 
 b/drivers/scsi/cyberstorm.c               |    4 
 b/drivers/scsi/cyberstormII.c             |    4 
 b/drivers/scsi/dec_esp.c                  |    2 
 b/drivers/scsi/dpti.h                     |    2 
 b/drivers/scsi/dtc.c                      |    6 
 b/drivers/scsi/dtc.h                      |    2 
 b/drivers/scsi/fastlane.c                 |    4 
 b/drivers/scsi/fcal.c                     |    8 
 b/drivers/scsi/fcal.h                     |    4 
 b/drivers/scsi/fd_mcs.c                   |    4 
 b/drivers/scsi/g_NCR5380.c                |    6 
 b/drivers/scsi/g_NCR5380.h                |    2 
 b/drivers/scsi/gdth.c                     |   12 
 b/drivers/scsi/gdth.h                     |    4 
 b/drivers/scsi/gdth_proc.c                |   10 
 b/drivers/scsi/gvp11.c                    |    4 
 b/drivers/scsi/gvp11.h                    |    2 
 b/drivers/scsi/ibmmca.c                   |    8 
 b/drivers/scsi/ibmmca.h                   |    2 
 b/drivers/scsi/ide-scsi.c                 |    2 
 b/drivers/scsi/in2000.c                   |    4 
 b/drivers/scsi/in2000.h                   |    2 
 b/drivers/scsi/ipr.c                      |  904 ++++++++++---
 b/drivers/scsi/ipr.h                      |  243 ++-
 b/drivers/scsi/ips.c                      |  150 --
 b/drivers/scsi/ips.h                      |    4 
 b/drivers/scsi/jazz_esp.c                 |    4 
 b/drivers/scsi/mac_esp.c                  |    4 
 b/drivers/scsi/mac_scsi.c                 |    6 
 b/drivers/scsi/mca_53c9x.c                |    4 
 b/drivers/scsi/megaraid.c                 |   34 
 b/drivers/scsi/megaraid.h                 |   10 
 b/drivers/scsi/megaraid/mega_common.h     |    2 
 b/drivers/scsi/megaraid/megaraid_mbox.c   |   81 -
 b/drivers/scsi/megaraid/megaraid_sas.c    |    5 
 b/drivers/scsi/mvme147.c                  |    4 
 b/drivers/scsi/mvme147.h                  |    2 
 b/drivers/scsi/mvme16x.c                  |    4 
 b/drivers/scsi/mvme16x.h                  |    2 
 b/drivers/scsi/nsp32.c                    |    6 
 b/drivers/scsi/oktagon_esp.c              |    4 
 b/drivers/scsi/pas16.c                    |    6 
 b/drivers/scsi/pas16.h                    |    2 
 b/drivers/scsi/pci2000.h                  |    2 
 b/drivers/scsi/pcmcia/nsp_cs.c            |    8 
 b/drivers/scsi/pcmcia/nsp_cs.h            |    6 
 b/drivers/scsi/pcmcia/qlogic_stub.c       |    4 
 b/drivers/scsi/pluto.c                    |    8 
 b/drivers/scsi/pluto.h                    |    4 
 b/drivers/scsi/psi240i.c                  |    4 
 b/drivers/scsi/qla1280.c                  |    8 
 b/drivers/scsi/qla2xxx/qla_dbg.c          |    8 
 b/drivers/scsi/qla2xxx/qla_init.c         |   28 
 b/drivers/scsi/qla2xxx/qla_mbx.c          |   10 
 b/drivers/scsi/qla2xxx/qla_sup.c          |    5 
 b/drivers/scsi/qla2xxx/qla_version.h      |    4 
 b/drivers/scsi/qlogicfas.c                |    6 
 b/drivers/scsi/qlogicfc.c                 |    4 
 b/drivers/scsi/raid_class.c               |   96 +
 b/drivers/scsi/scsi_debug.c               |    2 
 b/drivers/scsi/scsi_error.c               |  157 --
 b/drivers/scsi/scsi_lib.c                 |   58 
 b/drivers/scsi/scsi_priv.h                |    1 
 b/drivers/scsi/scsi_scan.c                |   54 
 b/drivers/scsi/scsi_sysfs.c               |    9 
 b/drivers/scsi/scsi_typedefs.h            |    3 
 b/drivers/scsi/sd.c                       |   22 
 b/drivers/scsi/seagate.c                  |    4 
 b/drivers/scsi/seagate.h                  |    2 
 b/drivers/scsi/sgiwd93.c                  |    6 
 b/drivers/scsi/sun3_NCR5380.c             |    2 
 b/drivers/scsi/sun3_scsi.c                |    6 
 b/drivers/scsi/sun3_scsi.h                |    2 
 b/drivers/scsi/sun3_scsi_vme.c            |    6 
 b/drivers/scsi/sun3x_esp.c                |    4 
 b/drivers/scsi/sym53c416.c                |    4 
 b/drivers/scsi/sym53c416.h                |    2 
 b/drivers/scsi/t128.c                     |    6 
 b/drivers/scsi/t128.h                     |    2 
 b/drivers/scsi/u14-34f.c                  |    2 
 b/drivers/scsi/ultrastor.c                |    8 
 b/drivers/scsi/ultrastor.h                |    2 
 b/drivers/usb/image/microtek.c            |    2 
 b/include/linux/libata.h                  |    2 
 b/include/linux/pci_ids.h                 |    2 
 b/include/linux/raid_class.h              |   32 
 b/include/scsi/scsi_host.h                |    7 
 b/include/scsi/scsi_request.h             |    3 
 drivers/scsi/qlogicisp.c                  | 1934 ----------------------------
 drivers/scsi/qlogicisp_asm.c              | 2034 ------------------------------
 143 files changed, 1733 insertions(+), 5102 deletions(-)

James



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [GIT PATCH] final pre -rc pieces of SCSI for 2.6.14
  2005-11-11 21:49 [GIT PATCH] final pre -rc pieces of SCSI for 2.6.14 James Bottomley
@ 2005-11-11 22:23 ` Christoph Hellwig
  2005-11-11 22:38   ` Mike Christie
  2005-11-11 22:54   ` Linus Torvalds
  0 siblings, 2 replies; 6+ messages in thread
From: Christoph Hellwig @ 2005-11-11 22:23 UTC (permalink / raw)
  To: James Bottomley
  Cc: Linus Torvalds, Andrew Morton, SCSI Mailing List, Linux Kernel

On Fri, Nov 11, 2005 at 03:49:01PM -0600, James Bottomley wrote:
>   o remove scsi_wait_req

This requires '[PATCH] kill libata scsi_wait_req usage (make libata compile in
scsi-misc)' from Mike, because libata started to use this function in mainline
about the same time it was removed in scsi-misc.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [GIT PATCH] final pre -rc pieces of SCSI for 2.6.14
  2005-11-11 22:23 ` Christoph Hellwig
@ 2005-11-11 22:38   ` Mike Christie
  2005-11-11 22:39     ` Mike Christie
  2005-11-11 22:54   ` Linus Torvalds
  1 sibling, 1 reply; 6+ messages in thread
From: Mike Christie @ 2005-11-11 22:38 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: James Bottomley, Linus Torvalds, Andrew Morton, SCSI Mailing List,
	Linux Kernel

On Fri, 2005-11-11 at 22:23 +0000, Christoph Hellwig wrote:
> On Fri, Nov 11, 2005 at 03:49:01PM -0600, James Bottomley wrote:
> >   o remove scsi_wait_req
> 
> This requires '[PATCH] kill libata scsi_wait_req usage (make libata compile in
> scsi-misc)' from Mike, because libata started to use this function in mainline
> about the same time it was removed in scsi-misc.


My previous patch needed to included scsi_eh.h. Someone sent a patch in
-mm to d othis. Here is my patch plus the scsi_eh.h include patch rolled
into one if you need it.

rm scsi_wait_req() usage.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>


diff --git a/drivers/scsi/libata-scsi.c b/drivers/scsi/libata-scsi.c
index bb30fcd..b101f8e 100644
--- a/drivers/scsi/libata-scsi.c
+++ b/drivers/scsi/libata-scsi.c
@@ -38,6 +38,7 @@
 #include <linux/spinlock.h>
 #include <scsi/scsi.h>
 #include <scsi/scsi_host.h>
+#include <scsi/scsi_eh.h>
 #include <scsi/scsi_device.h>
 #include <scsi/scsi_request.h>
 #include <linux/libata.h>
@@ -147,7 +148,8 @@ int ata_cmd_ioctl(struct scsi_device *sc
 	u8 scsi_cmd[MAX_COMMAND_SIZE];
 	u8 args[4], *argbuf = NULL;
 	int argsize = 0;
-	struct scsi_request *sreq;
+	struct scsi_sense_hdr sshdr;
+	enum dma_data_direction data_dir;
 
 	if (NULL == (void *)arg)
 		return -EINVAL;
@@ -155,10 +157,6 @@ int ata_cmd_ioctl(struct scsi_device *sc
 	if (copy_from_user(args, arg, sizeof(args)))
 		return -EFAULT;
 
-	sreq = scsi_allocate_request(scsidev, GFP_KERNEL);
-	if (!sreq)
-		return -EINTR;
-
 	memset(scsi_cmd, 0, sizeof(scsi_cmd));
 
 	if (args[3]) {
@@ -172,11 +170,11 @@ int ata_cmd_ioctl(struct scsi_device *sc
 		scsi_cmd[1]  = (4 << 1); /* PIO Data-in */
 		scsi_cmd[2]  = 0x0e;     /* no off.line or cc, read from dev,
 		                            block count in sector count field */
-		sreq->sr_data_direction = DMA_FROM_DEVICE;
+		data_dir = DMA_FROM_DEVICE;
 	} else {
 		scsi_cmd[1]  = (3 << 1); /* Non-data */
 		/* scsi_cmd[2] is already 0 -- no off.line, cc, or data xfer */
-		sreq->sr_data_direction = DMA_NONE;
+		data_dir = DMA_NONE;
 	}
 
 	scsi_cmd[0] = ATA_16;
@@ -194,9 +192,8 @@ int ata_cmd_ioctl(struct scsi_device *sc
 
 	/* Good values for timeout and retries?  Values below
 	   from scsi_ioctl_send_command() for default case... */
-	scsi_wait_req(sreq, scsi_cmd, argbuf, argsize, (10*HZ), 5);
-
-	if (sreq->sr_result) {
+	if (scsi_execute_req(scsidev, scsi_cmd, data_dir, argbuf, argsize,
+			     &sshdr, (10*HZ), 5)) {
 		rc = -EIO;
 		goto error;
 	}
@@ -207,8 +204,6 @@ int ata_cmd_ioctl(struct scsi_device *sc
 	 && copy_to_user((void *)(arg + sizeof(args)), argbuf, argsize))
 		rc = -EFAULT;
 error:
-	scsi_release_request(sreq);
-
 	if (argbuf)
 		kfree(argbuf);
 
@@ -231,7 +226,7 @@ int ata_task_ioctl(struct scsi_device *s
 	int rc = 0;
 	u8 scsi_cmd[MAX_COMMAND_SIZE];
 	u8 args[7];
-	struct scsi_request *sreq;
+	struct scsi_sense_hdr sshdr;
 
 	if (NULL == (void *)arg)
 		return -EINVAL;
@@ -250,26 +245,13 @@ int ata_task_ioctl(struct scsi_device *s
 	scsi_cmd[12] = args[5];
 	scsi_cmd[14] = args[0];
 
-	sreq = scsi_allocate_request(scsidev, GFP_KERNEL);
-	if (!sreq) {
-		rc = -EINTR;
-		goto error;
-	}
-
-	sreq->sr_data_direction = DMA_NONE;
 	/* Good values for timeout and retries?  Values below
-	   from scsi_ioctl_send_command() for default case... */
-	scsi_wait_req(sreq, scsi_cmd, NULL, 0, (10*HZ), 5);
-
-	if (sreq->sr_result) {
+	   from scsi_ioctl_send_command() for default case... */	
+	if (scsi_execute_req(scsidev, scsi_cmd, DMA_NONE, NULL, 0, &sshdr,
+			     (10*HZ), 5))
 		rc = -EIO;
-		goto error;
-	}
 
 	/* Need code to retrieve data from check condition? */
-
-error:
-	scsi_release_request(sreq);
 	return rc;
 }
 

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [GIT PATCH] final pre -rc pieces of SCSI for 2.6.14
  2005-11-11 22:38   ` Mike Christie
@ 2005-11-11 22:39     ` Mike Christie
  0 siblings, 0 replies; 6+ messages in thread
From: Mike Christie @ 2005-11-11 22:39 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: James Bottomley, Linus Torvalds, Andrew Morton, SCSI Mailing List,
	Linux Kernel

Mike Christie wrote:
> On Fri, 2005-11-11 at 22:23 +0000, Christoph Hellwig wrote:
> 
>>On Fri, Nov 11, 2005 at 03:49:01PM -0600, James Bottomley wrote:
>>
>>>  o remove scsi_wait_req
>>
>>This requires '[PATCH] kill libata scsi_wait_req usage (make libata compile in
>>scsi-misc)' from Mike, because libata started to use this function in mainline
>>about the same time it was removed in scsi-misc.
> 
> 
> 
> My previous patch needed to included scsi_eh.h. Someone sent a patch in
> -mm to d othis. Here is my patch plus the scsi_eh.h include patch rolled
> into one if you need it.
> 
> rm scsi_wait_req() usage.
> 

oh yeah that patch was made agsint scsi-misc.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [GIT PATCH] final pre -rc pieces of SCSI for 2.6.14
  2005-11-11 22:23 ` Christoph Hellwig
  2005-11-11 22:38   ` Mike Christie
@ 2005-11-11 22:54   ` Linus Torvalds
  2005-11-12  1:57     ` Jeff Garzik
  1 sibling, 1 reply; 6+ messages in thread
From: Linus Torvalds @ 2005-11-11 22:54 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: James Bottomley, Andrew Morton, SCSI Mailing List, Linux Kernel



On Fri, 11 Nov 2005, Christoph Hellwig wrote:
>
> On Fri, Nov 11, 2005 at 03:49:01PM -0600, James Bottomley wrote:
> >   o remove scsi_wait_req
> 
> This requires '[PATCH] kill libata scsi_wait_req usage (make libata compile in
> scsi-misc)' from Mike, because libata started to use this function in mainline
> about the same time it was removed in scsi-misc.

Yeah, I get

	drivers/built-in.o(.text+0x12e68c): In function `.ata_cmd_ioctl':
	: undefined reference to `.scsi_wait_req'
	drivers/built-in.o(.text+0x12e85c): In function `.ata_task_ioctl':
	: undefined reference to `.scsi_wait_req'

right now. Can somebody forward that patch to me..

		Linus

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [GIT PATCH] final pre -rc pieces of SCSI for 2.6.14
  2005-11-11 22:54   ` Linus Torvalds
@ 2005-11-12  1:57     ` Jeff Garzik
  0 siblings, 0 replies; 6+ messages in thread
From: Jeff Garzik @ 2005-11-12  1:57 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Christoph Hellwig, James Bottomley, Andrew Morton,
	SCSI Mailing List, Linux Kernel

Linus Torvalds wrote:
> 
> On Fri, 11 Nov 2005, Christoph Hellwig wrote:
> 
>>On Fri, Nov 11, 2005 at 03:49:01PM -0600, James Bottomley wrote:
>>
>>>  o remove scsi_wait_req
>>
>>This requires '[PATCH] kill libata scsi_wait_req usage (make libata compile in
>>scsi-misc)' from Mike, because libata started to use this function in mainline
>>about the same time it was removed in scsi-misc.
> 
> 
> Yeah, I get
> 
> 	drivers/built-in.o(.text+0x12e68c): In function `.ata_cmd_ioctl':
> 	: undefined reference to `.scsi_wait_req'
> 	drivers/built-in.o(.text+0x12e85c): In function `.ata_task_ioctl':
> 	: undefined reference to `.scsi_wait_req'
> 
> right now. Can somebody forward that patch to me..

Given that that's the primary path for users issuing hdparm/SMART 
commands, I'm still hoping someone will give this patch even a simple 
"it works" test before pushing...  I requested this days ago, but 
haven't heard any results.

	Jeff

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2005-11-12  1:57 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-11-11 21:49 [GIT PATCH] final pre -rc pieces of SCSI for 2.6.14 James Bottomley
2005-11-11 22:23 ` Christoph Hellwig
2005-11-11 22:38   ` Mike Christie
2005-11-11 22:39     ` Mike Christie
2005-11-11 22:54   ` Linus Torvalds
2005-11-12  1:57     ` Jeff Garzik

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).