nvme_get_ana_log_atomic(2) libnvme API manual nvme_get_ana_log_atomic(2)

nvme_get_ana_log_atomic - Retrieve Asymmetric Namespace Access log page atomically

int nvme_get_ana_log_atomic (int fd , bool rgo , bool rae , unsigned int retries , struct nvme_ana_log *log , __u32 *len );

File descriptor of nvme device
Whether to retrieve ANA groups only (no NSIDs)
Whether to retain asynchronous events
The maximum number of times to retry on log page changes
Pointer to a buffer to receive the ANA log page
Input: the length of the log page buffer. Output: the actual length of the ANA log page.

See struct nvme_ana_log for the definition of the returned structure.

If successful, returns 0 and sets *len to the actual log page length. If unsuccessful, returns the nvme command status if a response was received (see enum nvme_status_field) or -1 with errno set otherwise. Sets errno = EINVAL if retries == 0. Sets errno = EAGAIN if unable to read the log page atomically because chgcnt changed during each of the retries attempts. Sets errno = ENOSPC if the full log page does not fit in the provided buffer.

nvme_get_ana_log_atomic January 2025