-D <dsm>::
--dsm=<dsm>::
- The optional data set management attributes for this command. The
- argument for this is the lower 16 bits of the DSM field in a write
- command; the upper 16 bits of the field come from the directive
+ The optional data set management attributes for this command. The argument
+ for this is the least significant 8 bits of the DSM field in a write
+ command; the most significant 16 bits of the field come from the directive
specific field, if used. This may be used to set attributes for
the LBAs being written, like access frequency, type, latency,
among other things, as well as yet to be defined types. Please
consult the NVMe specification for detailed breakdown of how to
use this field.
-
-v::
--show-cmd::
Print out the command to be sent.
-D <dsm>::
--dsm=<dsm>::
- The optional data set management attributes for this command. The
- argument for this is the lower 16 bits of the DSM field in a write
- command; the upper 16 bits of the field come from the directive
+ The optional data set management attributes for this command. The argument
+ for this is the least significant 8 bits of the DSM field in a write
+ command; the most significant 16 bits of the field come from the directive
specific field, if used. This may be used to set attributes for
the LBAs being written, like access frequency, type, latency,
among other things, as well as yet to be defined types. Please
-D <dsm>::
--dsm=<dsm>::
- The optional data set management attributes for this command. The
- argument for this is the lower 16 bits of the DSM field in a write
- command; the upper 16 bits of the field come from the directive
+ The optional data set management attributes for this command. The argument
+ for this is the least significant 8 bits of the DSM field in a write
+ command; the most significant 16 bits of the field come from the directive
specific field, if used. This may be used to set attributes for
the LBAs being written, like access frequency, type, latency,
among other things, as well as yet to be defined types. Please
const char *dry = "show command instead of sending";
const char *dtype = "directive type (for write-only)";
const char *dspec = "directive specific (for write-only)";
- const char *dsm = "dataset management attributes (lower 16 bits)";
+ const char *dsm = "dataset management attributes (lower 8 bits)";
const char *storage_tag_check = "This bit specifies the Storage Tag field shall be " \
"checked as part of end-to-end data protection processing";
const char *storage_tag = "storage tag, CDW2 and CDW3 (00:47) bits "\
char *data;
char *metadata;
__u8 prinfo;
- __u8 dtype;
+ __u8 dtype;
__u16 dspec;
- __u16 dsmgmt;
+ __u8 dsmgmt;
__u16 app_tag_mask;
__u16 app_tag;
__u64 storage_tag;
OPT_FLAG("storage-tag-check", 'C', &cfg.storage_tag_check, storage_tag_check),
OPT_BYTE("dir-type", 'T', &cfg.dtype, dtype),
OPT_SHRT("dir-spec", 'S', &cfg.dspec, dspec),
- OPT_SHRT("dsm", 'D', &cfg.dsmgmt, dsm),
+ OPT_BYTE("dsm", 'D', &cfg.dsmgmt, dsm),
OPT_FLAG("show-command", 'v', &cfg.show, show),
OPT_FLAG("dry-run", 'w', &cfg.dry_run, dry),
OPT_FLAG("latency", 't', &cfg.latency, latency),
.slba = cfg.start_block,
.nlb = cfg.block_count,
.control = control,
- .dsm = dsmgmt,
- .dspec = 0,
+ .dsm = cfg.dsmgmt,
+ .dspec = cfg.dspec,
.reftag = cfg.ref_tag,
.apptag = cfg.app_tag,
.appmask = cfg.app_tag_mask,