linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [2.6.9 PATCH] blacklist device don't use SYNCHRONIZE_CACHE
@ 2004-10-29 10:22 mclark
  0 siblings, 0 replies; only message in thread
From: mclark @ 2004-10-29 10:22 UTC (permalink / raw)
  To: linux-scsi

Adds a flag to the SCSI blacklist infrastructure to allow marking
devices we shouldn't send a SYNCRONIZE_CACHE command to.
Adds the Chaparral JFS224 to the blacklist with this flag.

Signed-off-by: Michael Clark <michael@metaparadigm.com>

diff -ur linux-2.6.9.orig/drivers/scsi/scsi_devinfo.c linux-2.6.9.edited/drivers/scsi/scsi_devinfo.c
--- linux-2.6.9.orig/drivers/scsi/scsi_devinfo.c	2004-10-29 15:33:38.000000000 +0800
+++ linux-2.6.9.edited/drivers/scsi/scsi_devinfo.c	2004-10-29 16:35:53.000000000 +0800
@@ -125,6 +125,7 @@
 	{"CMD", "CRA-7280", NULL, BLIST_SPARSELUN},	/* CMD RAID Controller */
 	{"CNSI", "G7324", NULL, BLIST_SPARSELUN},	/* Chaparral G7324 RAID */
 	{"CNSi", "G8324", NULL, BLIST_SPARSELUN},	/* Chaparral G8324 RAID */
+	{"CNSi", "JFS224", NULL, BLIST_SPARSELUN | BLIST_NO_SYNC_CACHE},
 	{"COMPAQ", "LOGICAL VOLUME", NULL, BLIST_FORCELUN},
 	{"COMPAQ", "CR3500", NULL, BLIST_FORCELUN},
 	{"COMPAQ", "MSA1000", NULL, BLIST_SPARSELUN | BLIST_NOSTARTONADD},
diff -ur linux-2.6.9.orig/drivers/scsi/scsi_scan.c linux-2.6.9.edited/drivers/scsi/scsi_scan.c
--- linux-2.6.9.orig/drivers/scsi/scsi_scan.c	2004-10-29 16:00:22.000000000 +0800
+++ linux-2.6.9.edited/drivers/scsi/scsi_scan.c	2004-10-29 16:02:51.000000000 +0800
@@ -668,6 +668,9 @@
 	if (*bflags & BLIST_NOT_LOCKABLE)
 		sdev->lockable = 0;
 
+	if (*bflags & BLIST_NO_SYNC_CACHE)
+		sdev->no_sync_cache = 1;
+
 	if(sdev->host->hostt->slave_configure)
 		sdev->host->hostt->slave_configure(sdev);
 
diff -ur linux-2.6.9.orig/drivers/scsi/sd.c linux-2.6.9.edited/drivers/scsi/sd.c
--- linux-2.6.9.orig/drivers/scsi/sd.c	2004-10-29 08:38:09.000000000 +0800
+++ linux-2.6.9.edited/drivers/scsi/sd.c	2004-10-29 15:59:50.000000000 +0800
@@ -1560,6 +1560,9 @@
 	if (!sdkp->WCE)
 		return;
 
+	if(sdp->no_sync_cache)
+		return;
+
 	printk(KERN_NOTICE "Synchronizing SCSI cache for disk %s: \n",
 			sdkp->disk->disk_name);
 	sd_sync_cache(sdp);
diff -ur linux-2.6.9.orig/include/scsi/scsi_device.h linux-2.6.9.edited/include/scsi/scsi_device.h
--- linux-2.6.9.orig/include/scsi/scsi_device.h	2004-10-29 15:52:57.000000000 +0800
+++ linux-2.6.9.edited/include/scsi/scsi_device.h	2004-10-29 16:32:58.000000000 +0800
@@ -106,6 +106,7 @@
 	unsigned use_192_bytes_for_3f:1; /* ask for 192 bytes from page 0x3f */
 	unsigned no_start_on_add:1;	/* do not issue start on add */
 	unsigned allow_restart:1; /* issue START_UNIT in error handler */
+	unsigned no_sync_cache:1;	/* do not issue SYNCRONIZE_CACHE */
 
 	unsigned int device_blocked;	/* Device returned QUEUE_FULL. */
 
diff -ur linux-2.6.9.orig/include/scsi/scsi_devinfo.h linux-2.6.9.edited/include/scsi/scsi_devinfo.h
--- linux-2.6.9.orig/include/scsi/scsi_devinfo.h	2004-10-29 15:34:52.000000000 +0800
+++ linux-2.6.9.edited/include/scsi/scsi_devinfo.h	2004-10-29 15:47:43.000000000 +0800
@@ -25,4 +25,5 @@
  					   (if HBA supports more than 8 LUNs) */
 #define BLIST_NOREPORTLUN	0x40000	/* don't try REPORT_LUNS scan (SCSI-3 devs) */
 #define BLIST_NOT_LOCKABLE	0x80000	/* don't use PREVENT-ALLOW commands */
+#define BLIST_NO_SYNC_CACHE	0x100000 /* don't use SYNCHRONIZE_CACHE commands */
 #endif

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-10-29 10:21 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-10-29 10:22 [2.6.9 PATCH] blacklist device don't use SYNCHRONIZE_CACHE mclark

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