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