nvme_get_ana_log_atomic(2)

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.