nvme\_init\_dsm(9) libnvme API manual nvme\_init\_dsm(9)

# [NAME](#NAME)

nvme\_init\_dsm - Initialize passthru command for NVMe I/O Data Set Management

# [SYNOPSIS](#SYNOPSIS)

**void nvme\_init\_dsm** **(struct libnvme\_passthru\_cmd \*cmd ,** **\_\_u32 nsid ,** **\_\_u16 nr ,** **\_\_u8 idr ,** **\_\_u8 idw ,** **\_\_u8 ad ,** **void \*data ,** **\_\_u32 len );**

# [ARGUMENTS](#ARGUMENTS)

[cmd](#cmd)

Passthru command to use

[nsid](#nsid)

Namespace identifier

[nr](#nr)

Number of block ranges in the data set management attributes

[idr](#idr)

DSM Integral Dataset for Read attribute

[idw](#idw)

DSM Integral Dataset for Write attribute

[ad](#ad)

DSM Deallocate attribute

[data](#data)

User space destination address to transfer the data

[len](#len)

Length of provided user buffer to hold the log data in bytes

nvme\_init\_dsm October 2026

---

Document: nvme_init_dsm-libnvme3(2) from nvme-cli 3.2-r0 (Chainguard OS)
Source: https://github.com/linux-nvme/nvme-cli
