Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Jul 1998 10:40:07 -0600 (MDT)
From:      "Justin T. Gibbs" <gibbs@narnia.plutotech.com>
To:        Cory Kempf <ckempf@enigami.com>
Cc:        scsi@FreeBSD.ORG
Subject:   Re: Can I say NO to LUNs?
Message-ID:  <199807151640.KAA03157@narnia.plutotech.com>
In-Reply-To: <199807151253.IAA16379@singularity.enigami.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In article <199807151253.IAA16379@singularity.enigami.com> you wrote:
> My scanner doesn't seem to support LUNs.  Is there a way that I can
> say not to poke at them?

Does poking them crash your system?  Or are you simply complaining about
the verbosity of the messages poking them creates?  If a device hangs
the system up because it doesn't properly report that it doesn't support
high luns, we can add a quirk entry for that device.  In the case of you
scanner, it does behave in a mostly correct fashion and we can simply
change the code to shut up about the failure.

Here are some sample patches that should do this:

--
Justin


==== //depot/cam/sys/cam/cam_xpt.c#119 - /a/perforce/src/sys/cam/cam_xpt.c ====
*** /tmp/tmp.3143.0	Wed Jul 15 10:39:12 1998
--- /a/perforce/src/sys/cam/cam_xpt.c	Wed Jul 15 10:36:10 1998
***************
*** 3400,3406 ****
  					break;
  				}
  			}
! 		} else if (cam_periph_error(done_ccb, 0, SF_RETRY_UA,
  					    &softc->saved_ccb) == ERESTART) {
  			return;
  		} else if ((done_ccb->ccb_h.status & CAM_SIM_QFRZN) != 0) {
--- 3400,3409 ----
  					break;
  				}
  			}
! 		} else if (cam_periph_error(done_ccb, 0,
! 					    done_ccb->ccb_h.target_lun > 0
! 					    ? SF_RETRY_UA|SF_QUIET_IR
! 					    : SF_RETRY_UA,
  					    &softc->saved_ccb) == ERESTART) {
  			return;
  		} else if ((done_ccb->ccb_h.status & CAM_SIM_QFRZN) != 0) {
==== //depot/cam/sys/cam/scsi/scsi_all.c#43 - /a/perforce/src/sys/cam/scsi/scsi_all.c ====
*** /tmp/tmp.3143.1	Wed Jul 15 10:39:12 1998
--- /a/perforce/src/sys/cam/scsi/scsi_all.c	Wed Jul 15 10:34:52 1998
***************
*** 2110,2117 ****
  
  			error = 0;
  			break;
- 		case SSD_KEY_NOT_READY:
  		case SSD_KEY_ILLEGAL_REQUEST:
  		case SSD_KEY_DATA_PROTECT:
  		case SSD_KEY_VOLUME_OVERFLOW:
  		case SSD_KEY_BLANK_CHECK: /* should be filtered out by
--- 2110,2121 ----
  
  			error = 0;
  			break;
  		case SSD_KEY_ILLEGAL_REQUEST:
+ 			if ((sense_flags & SF_QUIET_IR) != 0)
+ 				print_sense = FALSE;
+ 
+ 			/* FALLTHROUGH */
+ 		case SSD_KEY_NOT_READY:
  		case SSD_KEY_DATA_PROTECT:
  		case SSD_KEY_VOLUME_OVERFLOW:
  		case SSD_KEY_BLANK_CHECK: /* should be filtered out by
==== //depot/cam/sys/cam/scsi/scsi_all.h#30 - /a/perforce/src/sys/cam/scsi/scsi_all.h ====
*** /tmp/tmp.3143.2	Wed Jul 15 10:39:12 1998
--- /a/perforce/src/sys/cam/scsi/scsi_all.h	Wed Jul 15 10:34:46 1998
***************
*** 599,604 ****
--- 599,605 ----
  
  #define	SF_RETRY_UA	0x01
  #define SF_NO_PRINT	0x02
+ #define SF_QUIET_IR	0x04	/* Be quiet about Illegal Request reponses */
  
  void		scsi_print_inquiry(struct scsi_inquiry_data *inq_data);
  

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-scsi" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199807151640.KAA03157>