diff options
author | Chaitanya Kulkarni <chaitanya.kulkarni@hgst.com> | 2016-11-30 12:29:00 -0800 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2016-12-01 07:58:40 -0700 |
commit | 3b7c33b28a44d4621e365e090bf8bd332ab232a1 (patch) | |
tree | b3e4b4ce210b4d5b42e3f486f0da84280a25aaeb /include/linux/nvme.h | |
parent | a6f0788ec2881ac14e97ff7fa6a78a807f87b5ba (diff) | |
download | lwn-3b7c33b28a44d4621e365e090bf8bd332ab232a1.tar.gz lwn-3b7c33b28a44d4621e365e090bf8bd332ab232a1.zip |
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>
Diffstat (limited to 'include/linux/nvme.h')
-rw-r--r-- | include/linux/nvme.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/include/linux/nvme.h b/include/linux/nvme.h index 18ce9f7cc881..0df9466a7c38 100644 --- a/include/linux/nvme.h +++ b/include/linux/nvme.h @@ -237,6 +237,7 @@ enum { NVME_CTRL_ONCS_COMPARE = 1 << 0, NVME_CTRL_ONCS_WRITE_UNCORRECTABLE = 1 << 1, NVME_CTRL_ONCS_DSM = 1 << 2, + NVME_CTRL_ONCS_WRITE_ZEROES = 1 << 3, NVME_CTRL_VWC_PRESENT = 1 << 0, }; @@ -543,6 +544,23 @@ struct nvme_dsm_range { __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 */ enum nvme_admin_opcode { @@ -839,6 +857,7 @@ struct nvme_command { struct nvme_download_firmware dlfw; struct nvme_format_cmd format; struct nvme_dsm_cmd dsm; + struct nvme_write_zeroes_cmd write_zeroes; struct nvme_abort_cmd abort; struct nvme_get_log_page_command get_log_page; struct nvmf_common_command fabrics; @@ -918,6 +937,7 @@ enum { NVME_SC_BAD_ATTRIBUTES = 0x180, NVME_SC_INVALID_PI = 0x181, NVME_SC_READ_ONLY = 0x182, + NVME_SC_ONCS_NOT_SUPPORTED = 0x183, /* * I/O Command Set Specific - Fabrics commands: |