aboutsummaryrefslogtreecommitdiff
path: root/sys/cam/ctl
diff options
context:
space:
mode:
authorKenneth D. Merry <ken@FreeBSD.org>2012-01-19 18:42:03 +0000
committerKenneth D. Merry <ken@FreeBSD.org>2012-01-19 18:42:03 +0000
commit2a2443d8332be10a2d2b4421eb9c180d875bd95c (patch)
tree20103cefab3a2be56628e53fede1339ff8218c96 /sys/cam/ctl
parent6f0e06a10e8d3c77728d8bab50c68fa2c3b90ebc (diff)
downloadsrc-2a2443d8332be10a2d2b4421eb9c180d875bd95c.tar.gz
src-2a2443d8332be10a2d2b4421eb9c180d875bd95c.zip
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
Notes
Notes: svn path=/head/; revision=230334
Diffstat (limited to 'sys/cam/ctl')
-rw-r--r--sys/cam/ctl/ctl.c29
-rw-r--r--sys/cam/ctl/ctl_backend_block.c18
-rw-r--r--sys/cam/ctl/ctl_backend_ramdisk.c16
-rw-r--r--sys/cam/ctl/ctl_error.c17
-rw-r--r--sys/cam/ctl/ctl_error.h9
5 files changed, 35 insertions, 54 deletions
diff --git a/sys/cam/ctl/ctl.c b/sys/cam/ctl/ctl.c
index 56bea6366dab..7a365099f1db 100644
--- a/sys/cam/ctl/ctl.c
+++ b/sys/cam/ctl/ctl.c
@@ -8736,7 +8736,7 @@ ctl_request_sense(struct ctl_scsiio *ctsio)
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 *ctsio)
* 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 *ctsio)
*/
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 *ctsio)
* 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 *ctl_softc, struct ctl_scsiio *ctsio)
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);
diff --git a/sys/cam/ctl/ctl_backend_block.c b/sys/cam/ctl/ctl_backend_block.c
index 9d7865471394..320830427dba 100644
--- a/sys/cam/ctl/ctl_backend_block.c
+++ b/sys/cam/ctl/ctl_backend_block.c
@@ -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");
diff --git a/sys/cam/ctl/ctl_backend_ramdisk.c b/sys/cam/ctl/ctl_backend_ramdisk.c
index 0790f2840e71..88b5008197cf 100644
--- a/sys/cam/ctl/ctl_backend_ramdisk.c
+++ b/sys/cam/ctl/ctl_backend_ramdisk.c
@@ -110,14 +110,14 @@ static int ctl_backend_ramdisk_config_read(union ctl_io *io);
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");
diff --git a/sys/cam/ctl/ctl_error.c b/sys/cam/ctl/ctl_error.c
index a0e1e97db0a3..617a5abad59b 100644
--- a/sys/cam/ctl/ctl_error.c
+++ b/sys/cam/ctl/ctl_error.c
@@ -354,21 +354,6 @@ ctl_sense_to_fixed(struct scsi_sense_data_desc *sense_src,
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 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)
{
ctl_ua_type ua_to_build;
int i, asc, ascq;
diff --git a/sys/cam/ctl/ctl_error.h b/sys/cam/ctl/ctl_error.h
index 6b97463c7418..1d8bd9b7d1b8 100644
--- a/sys/cam/ctl/ctl_error.h
+++ b/sys/cam/ctl/ctl_error.h
@@ -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_data_fixed *sense_src,
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,