nvme_get_ana_log_atomic - Man Page

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.

Info

August 2024 libnvme API manual