[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 2.6.1-rc1: SCSI: `TIMEOUT' redefined


Adrian Bunk <bunk _at_ fs.tum.de> wrote:
>
> On Wed, Dec 31, 2003 at 12:36:49AM -0800, Linus Torvalds wrote:
> >...
> > Summary of changes from v2.6.0 to v2.6.1-rc1
> > ============================================
> >...
> > Patrick Mansfield:
> >   o consolidate and log scsi command on send and completion
> >...
> 
> This adds a #define TIMEOUT to scsi.h conflicting with a different 
> TIMEOUT #define in drivers/scsi/eata_generic.h:

eww, bad idea.  I count more than twenty #defines of TIMEOUT in the kernel
tree.

We should change scsi.h - "TIMEOUT" is waaay too collision-prone.

In fact, a lot of those identifiers are quite poorly chosen:

#define NEEDS_RETRY     0x2001
#define SUCCESS         0x2002
#define FAILED          0x2003
#define QUEUED          0x2004
#define SOFT_ERROR      0x2005
#define ADD_TO_MLQUEUE  0x2006
#define TIMEOUT         0x2007

That's just asking for it.

This untested patch purports to fix just the TIMEOUT thing:

(hmm, SD_TIMEOUT is already taken, too).


diff -puN drivers/scsi/scsi.c~scsi-rename-TIMEOUT drivers/scsi/scsi.c
--- 25/drivers/scsi/scsi.c~scsi-rename-TIMEOUT	Tue Jan  6 14:37:24 2004
+++ 25-akpm/drivers/scsi/scsi.c	Tue Jan  6 14:37:35 2004
@@ -441,7 +441,7 @@ void scsi_log_completion(struct scsi_cmn
 			case FAILED:
 				printk("FAILED ");
 				break;
-			case TIMEOUT:
+			case SD_CMD_TIMEOUT:
 				/* 
 				 * If called via scsi_times_out.
 				 */
diff -puN drivers/scsi/scsi_error.c~scsi-rename-TIMEOUT drivers/scsi/scsi_error.c
--- 25/drivers/scsi/scsi_error.c~scsi-rename-TIMEOUT	Tue Jan  6 14:37:24 2004
+++ 25-akpm/drivers/scsi/scsi_error.c	Tue Jan  6 14:37:45 2004
@@ -164,7 +164,7 @@ int scsi_delete_timer(struct scsi_cmnd *
  **/
 void scsi_times_out(struct scsi_cmnd *scmd)
 {
-	scsi_log_completion(scmd, TIMEOUT);
+	scsi_log_completion(scmd, SD_CMD_TIMEOUT);
 	if (unlikely(!scsi_eh_scmd_add(scmd, SCSI_EH_CANCEL_CMD))) {
 		panic("Error handler thread not present at %p %p %s %d",
 		      scmd, scmd->device->host, __FILE__, __LINE__);
diff -puN include/scsi/scsi.h~scsi-rename-TIMEOUT include/scsi/scsi.h
--- 25/include/scsi/scsi.h~scsi-rename-TIMEOUT	Tue Jan  6 14:37:24 2004
+++ 25-akpm/include/scsi/scsi.h	Tue Jan  6 14:37:54 2004
@@ -302,7 +302,7 @@ struct scsi_lun {
 #define QUEUED          0x2004
 #define SOFT_ERROR      0x2005
 #define ADD_TO_MLQUEUE  0x2006
-#define TIMEOUT         0x2007
+#define SD_CMD_TIMEOUT  0x2007
 
 /*
  * Midlevel queue return values.

_

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo _at_ vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
References: