libnvme\_get\_log\_dynamic\_chunk(9) libnvme API manual libnvme\_get\_log\_dynamic\_chunk(9)

# [NAME](#NAME)

libnvme\_get\_log\_dynamic\_chunk - Get log page data with dynamic chunk size

# [SYNOPSIS](#SYNOPSIS)

**int libnvme\_get\_log\_dynamic\_chunk** **(struct libnvme\_transport\_handle \*hdl ,** **struct libnvme\_passthru\_cmd \*cmd ,** **bool rae ,** **\_\_u32 xfer\_len );**

# [ARGUMENTS](#ARGUMENTS)

[hdl](#hdl)

Transport handle

[cmd](#cmd)

Passthru command

[rae](#rae)

Retain asynchronous events

[xfer\_len](#xfer_len)

Initial max log transfer size per request to split the total. Dynamically divide chunk size by 2 when any error is encountered, and retry until the chunk size is down to 4k or the command succeeds. This allows for successful retrieval of log pages that may have a smaller maximum transfer size than the controller's MDTS value, without requiring the caller to know the optimal chunk size in advance.

# [RETURN](#RETURN)

0 on success, the nvme command status if a response was received (see *enum nvme\_status\_field*) or a negative error otherwise.

libnvme\_get\_log\_dynamic\_chunk September 2026

---

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