Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Jan 2012 18:42:03 +0000 (UTC)
From:      "Kenneth D. Merry" <ken@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r230334 - head/sys/cam/ctl
Message-ID:  <201201191842.q0JIg3bq002329@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ken
Date: Thu Jan 19 18:42:03 2012
New Revision: 230334
URL: http://svn.freebsd.org/changeset/base/230334

Log:
  Quiet some clang warnings when compiling CTL.
  
  ctl_error.c,
  ctl_error.h:	Take out the ctl_sense_format enumeration, and use
  		scsi_sense_data_type instead.
  
  		Remove ctl_get_sense_format() and switch ctl_build_ua()
  		over to using scsi_sense_data_type.
  
  ctl_backend_ramdisk.c,
  ctl_backend_block.c:
  		Use C99 structure initializers instead of GNU initializers.
  
  ctl.c:		Switch over to using the SCSI sense format enumeration
  		instead of the CTL-specific enumeration.
  
  Submitted by:	dim (partially)
  MFC after:	1 month

Modified:
  head/sys/cam/ctl/ctl.c
  head/sys/cam/ctl/ctl_backend_block.c
  head/sys/cam/ctl/ctl_backend_ramdisk.c
  head/sys/cam/ctl/ctl_error.c
  head/sys/cam/ctl/ctl_error.h

Modified: head/sys/cam/ctl/ctl.c
==============================================================================
--- head/sys/cam/ctl/ctl.c	Thu Jan 19 18:03:52 2012	(r230333)
+++ head/sys/cam/ctl/ctl.c	Thu Jan 19 18:42:03 2012	(r230334)
@@ -8736,7 +8736,7 @@ ctl_request_sense(struct ctl_scsiio *cts
 	struct ctl_lun *lun;
 	uint32_t initidx;
 	int have_error;
-	ctl_sense_format sense_format;
+	scsi_sense_data_type sense_format;
 
 	cdb = (struct scsi_request_sense *)ctsio->cdb;
 
@@ -8748,9 +8748,9 @@ ctl_request_sense(struct ctl_scsiio *cts
 	 * Determine which sense format the user wants.
 	 */
 	if (cdb->byte2 & SRS_DESC)
-		sense_format = CTL_SENSE_DESCRIPTOR;
+		sense_format = SSD_TYPE_DESC;
 	else
-		sense_format = CTL_SENSE_FIXED;
+		sense_format = SSD_TYPE_FIXED;
 
 	ctsio->kern_data_ptr = malloc(sizeof(*sense_ptr), M_CTL, M_WAITOK);
 	if (ctsio->kern_data_ptr == NULL) {
@@ -8789,13 +8789,13 @@ ctl_request_sense(struct ctl_scsiio *cts
 	 */
 	mtx_lock(&lun->ctl_softc->ctl_lock);
 	if (ctl_is_set(lun->have_ca, initidx)) {
-		ctl_sense_format stored_format;
+		scsi_sense_data_type stored_format;
 
 		/*
 		 * Check to see which sense format was used for the stored
 		 * sense data.
 		 */
-		stored_format = ctl_get_sense_format(
+		stored_format = scsi_sense_type(
 		    &lun->pending_sense[initidx].sense);
 
 		/*
@@ -8804,14 +8804,17 @@ ctl_request_sense(struct ctl_scsiio *cts
 		 * format.  If we're going from descriptor to fixed format
 		 * sense data, we may lose things in translation, depending
 		 * on what options were used.
+		 *
+		 * If the stored format is SSD_TYPE_NONE (i.e. invalid),
+		 * for some reason we'll just copy it out as-is.
 		 */
-		if ((stored_format == CTL_SENSE_FIXED)
-		 && (sense_format == CTL_SENSE_DESCRIPTOR))
+		if ((stored_format == SSD_TYPE_FIXED)
+		 && (sense_format == SSD_TYPE_DESC))
 			ctl_sense_to_desc((struct scsi_sense_data_fixed *)
 			    &lun->pending_sense[initidx].sense,
 			    (struct scsi_sense_data_desc *)sense_ptr);
-		else if ((stored_format == CTL_SENSE_DESCRIPTOR)
-		      && (sense_format == CTL_SENSE_FIXED))
+		else if ((stored_format == SSD_TYPE_DESC)
+		      && (sense_format == SSD_TYPE_FIXED))
 			ctl_sense_to_fixed((struct scsi_sense_data_desc *)
 			    &lun->pending_sense[initidx].sense,
 			    (struct scsi_sense_data_fixed *)sense_ptr);
@@ -10459,14 +10462,14 @@ ctl_scsiio_precheck(struct ctl_softc *ct
 
 		ua_type = lun->pending_sense[initidx].ua_pending;
 		if (ua_type != CTL_UA_NONE) {
-			ctl_sense_format sense_format;
+			scsi_sense_data_type sense_format;
 
 			if (lun != NULL)
 				sense_format = (lun->flags &
-				    CTL_LUN_SENSE_DESC) ? CTL_SENSE_DESCRIPTOR :
-				    CTL_SENSE_FIXED;
+				    CTL_LUN_SENSE_DESC) ? SSD_TYPE_DESC :
+				    SSD_TYPE_FIXED;
 			else
-				sense_format = CTL_SENSE_FIXED;
+				sense_format = SSD_TYPE_FIXED;
 
 			ua_type = ctl_build_ua(ua_type, &ctsio->sense_data,
 					       sense_format);

Modified: head/sys/cam/ctl/ctl_backend_block.c
==============================================================================
--- head/sys/cam/ctl/ctl_backend_block.c	Thu Jan 19 18:03:52 2012	(r230333)
+++ head/sys/cam/ctl/ctl_backend_block.c	Thu Jan 19 18:42:03 2012	(r230334)
@@ -260,15 +260,15 @@ int ctl_be_block_init(void);
 
 static struct ctl_backend_driver ctl_be_block_driver = 
 {
-	name: "block",
-	flags: CTL_BE_FLAG_HAS_CONFIG,
-	init: ctl_be_block_init,
-	data_submit: ctl_be_block_submit,
-	data_move_done: ctl_be_block_move_done,
-	config_read: ctl_be_block_config_read,
-	config_write: ctl_be_block_config_write,
-	ioctl: ctl_be_block_ioctl,
-	lun_info: ctl_be_block_lun_info
+	.name = "block",
+	.flags = CTL_BE_FLAG_HAS_CONFIG,
+	.init = ctl_be_block_init,
+	.data_submit = ctl_be_block_submit,
+	.data_move_done = ctl_be_block_move_done,
+	.config_read = ctl_be_block_config_read,
+	.config_write = ctl_be_block_config_write,
+	.ioctl = ctl_be_block_ioctl,
+	.lun_info = ctl_be_block_lun_info
 };
 
 MALLOC_DEFINE(M_CTLBLK, "ctlblk", "Memory used for CTL block backend");

Modified: head/sys/cam/ctl/ctl_backend_ramdisk.c
==============================================================================
--- head/sys/cam/ctl/ctl_backend_ramdisk.c	Thu Jan 19 18:03:52 2012	(r230333)
+++ head/sys/cam/ctl/ctl_backend_ramdisk.c	Thu Jan 19 18:42:03 2012	(r230334)
@@ -110,14 +110,14 @@ static int ctl_backend_ramdisk_config_re
 
 static struct ctl_backend_driver ctl_be_ramdisk_driver = 
 {
-	name: "ramdisk",
-	flags: CTL_BE_FLAG_HAS_CONFIG,
-	init: ctl_backend_ramdisk_init,
-	data_submit: ctl_backend_ramdisk_submit,
-	data_move_done: ctl_backend_ramdisk_move_done,
-	config_read: ctl_backend_ramdisk_config_read,
-	config_write: ctl_backend_ramdisk_config_write,
-	ioctl: ctl_backend_ramdisk_ioctl
+	.name = "ramdisk",
+	.flags = CTL_BE_FLAG_HAS_CONFIG,
+	.init = ctl_backend_ramdisk_init,
+	.data_submit = ctl_backend_ramdisk_submit,
+	.data_move_done = ctl_backend_ramdisk_move_done,
+	.config_read = ctl_backend_ramdisk_config_read,
+	.config_write = ctl_backend_ramdisk_config_write,
+	.ioctl = ctl_backend_ramdisk_ioctl
 };
 
 MALLOC_DEFINE(M_RAMDISK, "ramdisk", "Memory used for CTL RAMdisk");

Modified: head/sys/cam/ctl/ctl_error.c
==============================================================================
--- head/sys/cam/ctl/ctl_error.c	Thu Jan 19 18:03:52 2012	(r230333)
+++ head/sys/cam/ctl/ctl_error.c	Thu Jan 19 18:42:03 2012	(r230334)
@@ -354,21 +354,6 @@ ctl_sense_to_fixed(struct scsi_sense_dat
 			   SSD_ELEM_NONE);
 }
 
-ctl_sense_format
-ctl_get_sense_format(struct scsi_sense_data *sense_data)
-{
-	switch (sense_data->error_code & SSD_ERRCODE) {
-	case SSD_DESC_CURRENT_ERROR:
-	case SSD_DESC_DEFERRED_ERROR:
-		return (SSD_TYPE_DESC);
-	case SSD_CURRENT_ERROR:
-	case SSD_DEFERRED_ERROR:
-	default:
-		return (SSD_TYPE_FIXED);
-		break;
-	}
-}
-
 void
 ctl_set_ua(struct ctl_scsiio *ctsio, int asc, int ascq)
 {
@@ -382,7 +367,7 @@ ctl_set_ua(struct ctl_scsiio *ctsio, int
 
 ctl_ua_type
 ctl_build_ua(ctl_ua_type ua_type, struct scsi_sense_data *sense,
-	     ctl_sense_format sense_format)
+	     scsi_sense_data_type sense_format)
 {
 	ctl_ua_type ua_to_build;
 	int i, asc, ascq;

Modified: head/sys/cam/ctl/ctl_error.h
==============================================================================
--- head/sys/cam/ctl/ctl_error.h	Thu Jan 19 18:03:52 2012	(r230333)
+++ head/sys/cam/ctl/ctl_error.h	Thu Jan 19 18:42:03 2012	(r230334)
@@ -42,12 +42,6 @@
 #ifndef	_CTL_ERROR_H_
 #define	_CTL_ERROR_H_
 
-typedef enum {
-	CTL_SENSE_NOT_SPECIFIED,
-	CTL_SENSE_FIXED,
-	CTL_SENSE_DESCRIPTOR
-} ctl_sense_format;
-
 void ctl_set_sense_data_va(struct scsi_sense_data *sense_data, void *lun,
 			   scsi_sense_data_type sense_format, int current_error,
 			   int sense_key, int asc, int ascq, va_list ap); 
@@ -60,10 +54,9 @@ void ctl_sense_to_desc(struct scsi_sense
 		      struct scsi_sense_data_desc *sense_dest);
 void ctl_sense_to_fixed(struct scsi_sense_data_desc *sense_src,
 			struct scsi_sense_data_fixed *sense_dest);
-ctl_sense_format ctl_get_sense_format(struct scsi_sense_data *sense_data);
 void ctl_set_ua(struct ctl_scsiio *ctsio, int asc, int ascq);
 ctl_ua_type ctl_build_ua(ctl_ua_type ua_type, struct scsi_sense_data *sense,
-			 ctl_sense_format sense_format);
+			 scsi_sense_data_type sense_format);
 void ctl_set_overlapped_cmd(struct ctl_scsiio *ctsio);
 void ctl_set_overlapped_tag(struct ctl_scsiio *ctsio, uint8_t tag);
 void ctl_set_invalid_field(struct ctl_scsiio *ctsio, int sks_valid, int command,



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