'\" t
.\"     Title: nvme-dsm
.\"    Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\"      Date: 04/30/2025
.\"    Manual: NVMe Manual
.\"    Source: NVMe
.\"  Language: English
.\"
.TH "NVME\-DSM" "1" "04/30/2025" "NVMe" "NVMe Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
nvme-dsm \- Send NVMe Data Set Management, return results
.SH "SYNOPSIS"
.sp
.nf
\fInvme dsm\fR <device> [\-\-namespace\-id=<nsid> | \-n <nsid>]
                        [\-\-ctx\-attrs=<attribute\-list,> | \-a <attribute\-list,>]
                        [\-\-blocks=<nlb\-list,> | \-b <nlb\-list,>]
                        [\-\-slbs=<slba\-list,> | \-s <slba\-list,>]
                        [\-\-ad=<deallocate> | \-d <deallocate>]
                        [\-\-idw=<write> | \-w <write>] [\-\-idr=<read> | \-r <read>]
                        [\-\-cdw11=<cdw11> | \-c <cdw11>]
                        [\-\-output\-format=<fmt> | \-o <fmt>] [\-\-verbose | \-v]
                        [\-\-timeout=<timeout> | \-t <timeout>]
.fi
.SH "DESCRIPTION"
.sp
For the NVMe device given, sends a Data Set Management command and provides the result and returned structure\&.
.sp
The <device> parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. If the character device is given, the \*(Aq\-\-namespace\-id\*(Aq option is mandatory, otherwise it will use the ns\-id of the namespace for the block device you opened\&. For block devices, the ns\-id used can be overridden with the same option\&.
.sp
You must specify at least one of the values for range list\&. If the range lists provided do not list the same number of elements, the default values for the remaining in the range will be set to 0\&.
.sp
The command dword 11 may be provided at the command line\&. For convenience, the current defined attributes (discard, integral read/write) for a data\-set management have flags\&. If cdw11 is specified, this will override any settings from the flags may have provided\&.
.SH "OPTIONS"
.PP
\-n <nsid>, \-\-namespace\-id=<nsid>
.RS 4
Sends the command with the requested nsid\&. This is required for the character devices, or overrides the block nsid if given\&.
.RE
.PP
\-a <attribute\-list,>, \-\-ctx\-attrs=<attribute\-list>
.RS 4
Comma separated list of the context attributes in each range
.RE
.PP
\-b <nlb\-list,>, \-\-blocks=<nlb\-list,>
.RS 4
Comma separated list of the number of blocks in each range
.RE
.PP
\-s <slba\-list,>, \-\-slbs=<slba\-list,>
.RS 4
Comma separated list of the starting block in each range
.RE
.PP
\-d <deallocate>, \-\-ad=<deallocate>
.RS 4
Attribute Deallocate\&.
.RE
.PP
\-w <write>, \-\-idw=<write>
.RS 4
Attribute Integral Dataset for Write\&.
.RE
.PP
\-r <read>, \-\-idr=<read>
.RS 4
Attribute Integral Dataset for Read\&.
.RE
.PP
\-c <cdw11>, \-\-cdw11=<cdw11>
.RS 4
All the command command dword 11 attributes\&. Use exclusive from specifying individual attributes
.RE
.PP
\-o <fmt>, \-\-output\-format=<fmt>
.RS 4
Set the reporting format to
\fInormal\fR,
\fIjson\fR
or
\fIbinary\fR\&. Only one output format can be used at a time\&.
.RE
.PP
\-v, \-\-verbose
.RS 4
Increase the information detail in the output\&.
.RE
.PP
\-t <timeout>, \-\-timeout=<timeout>
.RS 4
Override default timeout value\&. In milliseconds\&.
.RE
.SH "EXAMPLES"
.sp
No examples yet
.SH "NVME"
.sp
Part of the nvme\-user suite
