scsi: sd_zbc: Move ZBC declarations to scsi_proto.h

Move standard macro definitions for the zone types and zone conditions
to scsi_proto.h together with the definitions related to the REPORT
ZONES command. While at it, define all values in the enums to be clear.

Also remove unnecessary includes in sd_zbc.c.

No functional change is introduced by this patch.

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Reviewed-by: Bart Van Assche <Bart.VanAssche@wdc.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Damien Le Moal 2017-10-11 05:54:21 +09:00 committed by Martin K. Petersen
parent 05231a3bb7
commit aa8a845662
2 changed files with 34 additions and 35 deletions

View File

@ -28,32 +28,8 @@
#include <scsi/scsi.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_dbg.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi_driver.h>
#include <scsi/scsi_host.h>
#include <scsi/scsi_eh.h>
#include "sd.h"
#include "scsi_priv.h"
enum zbc_zone_type {
ZBC_ZONE_TYPE_CONV = 0x1,
ZBC_ZONE_TYPE_SEQWRITE_REQ,
ZBC_ZONE_TYPE_SEQWRITE_PREF,
ZBC_ZONE_TYPE_RESERVED,
};
enum zbc_zone_cond {
ZBC_ZONE_COND_NO_WP,
ZBC_ZONE_COND_EMPTY,
ZBC_ZONE_COND_IMP_OPEN,
ZBC_ZONE_COND_EXP_OPEN,
ZBC_ZONE_COND_CLOSED,
ZBC_ZONE_COND_READONLY = 0xd,
ZBC_ZONE_COND_FULL,
ZBC_ZONE_COND_OFFLINE,
};
/**
* Convert a zone descriptor to a zone struct.

View File

@ -301,19 +301,42 @@ struct scsi_lun {
/* Reporting options for REPORT ZONES */
enum zbc_zone_reporting_options {
ZBC_ZONE_REPORTING_OPTION_ALL = 0,
ZBC_ZONE_REPORTING_OPTION_EMPTY,
ZBC_ZONE_REPORTING_OPTION_IMPLICIT_OPEN,
ZBC_ZONE_REPORTING_OPTION_EXPLICIT_OPEN,
ZBC_ZONE_REPORTING_OPTION_CLOSED,
ZBC_ZONE_REPORTING_OPTION_FULL,
ZBC_ZONE_REPORTING_OPTION_READONLY,
ZBC_ZONE_REPORTING_OPTION_OFFLINE,
ZBC_ZONE_REPORTING_OPTION_NEED_RESET_WP = 0x10,
ZBC_ZONE_REPORTING_OPTION_NON_SEQWRITE,
ZBC_ZONE_REPORTING_OPTION_NON_WP = 0x3f,
ZBC_ZONE_REPORTING_OPTION_ALL = 0x00,
ZBC_ZONE_REPORTING_OPTION_EMPTY = 0x01,
ZBC_ZONE_REPORTING_OPTION_IMPLICIT_OPEN = 0x02,
ZBC_ZONE_REPORTING_OPTION_EXPLICIT_OPEN = 0x03,
ZBC_ZONE_REPORTING_OPTION_CLOSED = 0x04,
ZBC_ZONE_REPORTING_OPTION_FULL = 0x05,
ZBC_ZONE_REPORTING_OPTION_READONLY = 0x06,
ZBC_ZONE_REPORTING_OPTION_OFFLINE = 0x07,
/* 0x08 to 0x0f are reserved */
ZBC_ZONE_REPORTING_OPTION_NEED_RESET_WP = 0x10,
ZBC_ZONE_REPORTING_OPTION_NON_SEQWRITE = 0x11,
/* 0x12 to 0x3e are reserved */
ZBC_ZONE_REPORTING_OPTION_NON_WP = 0x3f,
};
#define ZBC_REPORT_ZONE_PARTIAL 0x80
/* Zone types of REPORT ZONES zone descriptors */
enum zbc_zone_type {
ZBC_ZONE_TYPE_CONV = 0x1,
ZBC_ZONE_TYPE_SEQWRITE_REQ = 0x2,
ZBC_ZONE_TYPE_SEQWRITE_PREF = 0x3,
/* 0x4 to 0xf are reserved */
};
/* Zone conditions of REPORT ZONES zone descriptors */
enum zbc_zone_cond {
ZBC_ZONE_COND_NO_WP = 0x0,
ZBC_ZONE_COND_EMPTY = 0x1,
ZBC_ZONE_COND_IMP_OPEN = 0x2,
ZBC_ZONE_COND_EXP_OPEN = 0x3,
ZBC_ZONE_COND_CLOSED = 0x4,
/* 0x5 to 0xc are reserved */
ZBC_ZONE_COND_READONLY = 0xd,
ZBC_ZONE_COND_FULL = 0xe,
ZBC_ZONE_COND_OFFLINE = 0xf,
};
#endif /* _SCSI_PROTO_H_ */