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

# [NAME](#NAME)

nvme\_init\_dsm\_range - Constructs a data set range structure

# [SYNOPSIS](#SYNOPSIS)

**void nvme\_init\_dsm\_range** **(struct nvme\_dsm\_range \*dsm ,** **\_\_u32 \*ctx\_attrs ,** **\_\_u32 \*llbas ,** **\_\_u64 \*slbas ,** **\_\_u16 nr\_ranges );**

# [ARGUMENTS](#ARGUMENTS)

[dsm](#dsm)

DSM range array

[ctx\_attrs](#ctx_attrs)

Array of context attributes

[llbas](#llbas)

Array of length in logical blocks

[slbas](#slbas)

Array of starting logical blocks

[nr\_ranges](#nr_ranges)

The size of the dsm arrays

# [DESCRIPTION](#DESCRIPTION)

Each array must be the same size of size 'nr\_ranges'. This is intended to be used with constructing a payload for **nvme\_dsm**.

nvme\_init\_dsm\_range October 2026

---

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