nvme_get_ana_log_atomic(2)

nvme_get_ana_log_atomic(9) libnvme API manual nvme_get_ana_log_atomic(9)

NAME

nvme_get_ana_log_atomic - Retrieve Asymmetric Namespace Access log page atomically

SYNOPSIS

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

ARGUMENTS

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

DESCRIPTION

See struct nvme_ana_log for the definition of the returned structure.

RETURN

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 October 2025