mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
nvme.h: add Write Zeroes definitions
Add the command structure, optional command set support (ONCS) bit and a new error code for the Write Zeroes command. Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@hgst.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
a6f0788ec2
commit
3b7c33b28a
1 changed files with 20 additions and 0 deletions
|
@ -237,6 +237,7 @@ enum {
|
||||||
NVME_CTRL_ONCS_COMPARE = 1 << 0,
|
NVME_CTRL_ONCS_COMPARE = 1 << 0,
|
||||||
NVME_CTRL_ONCS_WRITE_UNCORRECTABLE = 1 << 1,
|
NVME_CTRL_ONCS_WRITE_UNCORRECTABLE = 1 << 1,
|
||||||
NVME_CTRL_ONCS_DSM = 1 << 2,
|
NVME_CTRL_ONCS_DSM = 1 << 2,
|
||||||
|
NVME_CTRL_ONCS_WRITE_ZEROES = 1 << 3,
|
||||||
NVME_CTRL_VWC_PRESENT = 1 << 0,
|
NVME_CTRL_VWC_PRESENT = 1 << 0,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -543,6 +544,23 @@ struct nvme_dsm_range {
|
||||||
__le64 slba;
|
__le64 slba;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct nvme_write_zeroes_cmd {
|
||||||
|
__u8 opcode;
|
||||||
|
__u8 flags;
|
||||||
|
__u16 command_id;
|
||||||
|
__le32 nsid;
|
||||||
|
__u64 rsvd2;
|
||||||
|
__le64 metadata;
|
||||||
|
union nvme_data_ptr dptr;
|
||||||
|
__le64 slba;
|
||||||
|
__le16 length;
|
||||||
|
__le16 control;
|
||||||
|
__le32 dsmgmt;
|
||||||
|
__le32 reftag;
|
||||||
|
__le16 apptag;
|
||||||
|
__le16 appmask;
|
||||||
|
};
|
||||||
|
|
||||||
/* Admin commands */
|
/* Admin commands */
|
||||||
|
|
||||||
enum nvme_admin_opcode {
|
enum nvme_admin_opcode {
|
||||||
|
@ -839,6 +857,7 @@ struct nvme_command {
|
||||||
struct nvme_download_firmware dlfw;
|
struct nvme_download_firmware dlfw;
|
||||||
struct nvme_format_cmd format;
|
struct nvme_format_cmd format;
|
||||||
struct nvme_dsm_cmd dsm;
|
struct nvme_dsm_cmd dsm;
|
||||||
|
struct nvme_write_zeroes_cmd write_zeroes;
|
||||||
struct nvme_abort_cmd abort;
|
struct nvme_abort_cmd abort;
|
||||||
struct nvme_get_log_page_command get_log_page;
|
struct nvme_get_log_page_command get_log_page;
|
||||||
struct nvmf_common_command fabrics;
|
struct nvmf_common_command fabrics;
|
||||||
|
@ -918,6 +937,7 @@ enum {
|
||||||
NVME_SC_BAD_ATTRIBUTES = 0x180,
|
NVME_SC_BAD_ATTRIBUTES = 0x180,
|
||||||
NVME_SC_INVALID_PI = 0x181,
|
NVME_SC_INVALID_PI = 0x181,
|
||||||
NVME_SC_READ_ONLY = 0x182,
|
NVME_SC_READ_ONLY = 0x182,
|
||||||
|
NVME_SC_ONCS_NOT_SUPPORTED = 0x183,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* I/O Command Set Specific - Fabrics commands:
|
* I/O Command Set Specific - Fabrics commands:
|
||||||
|
|
Loading…
Add table
Reference in a new issue