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
This commit is contained in:
Kenneth D. Merry 2012-01-19 18:42:03 +00:00
parent 6f0e06a10e
commit 2a2443d833
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=230334
5 changed files with 35 additions and 54 deletions

View File

@ -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);

View File

@ -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");

View File

@ -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");

View File

@ -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;

View File

@ -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,