Certain pre-OS driver implementations (i.e. UEFI) may opt
to include SSNS records that failed to connect, caused either
by a temporary target inaccessibility or an invalid
configuration. Such reason is further indicated by TP8029
extended information.
This commit adds a flag indicating namespace availability
so that clients (nvme-cli) may either decide to skip such
record or make another connection attempt.
Signed-off-by: Tomas Bzatek <tbzatek@redhat.com>
ssns->nid_type = raw_ssns->nidt;
ssns->nid = raw_ssns->nid;
+ /* flags */
+ ssns->unavailable = !!(le16_to_cpu(raw_ssns->flags) &
+ NBFT_SSNS_UNAVAIL_NAMESPACE_UNAVAIL);
+
/* security profile */
if (raw_ssns->security_desc_index) {
ssns->security = security_from_index(nbft, raw_ssns->security_desc_index);
* Descriptor) or 0 if not supported.
* @dhcp_root_path_string: DHCP Root Path Override string (SSNS Extended
* Information Descriptor).
+ * @unavailable: Namespace is unavailable as indicated by
+ * the pre-OS driver.
*/
struct nbft_info_subsystem_ns {
int index;
int controller_id;
int asqsz;
char *dhcp_root_path_string;
+ bool unavailable;
};
/**