diff --git a/src/nvme/nbft.c b/src/nvme/nbft.c index 3bdbeb1b..a2d03128 100644 --- a/src/nvme/nbft.c +++ b/src/nvme/nbft.c @@ -249,6 +249,9 @@ static int read_ssns(struct nbft_info *nbft, /* flags */ ssns->unavailable = !!(le16_to_cpu(raw_ssns->flags) & NBFT_SSNS_UNAVAIL_NAMESPACE_UNAVAIL); + ssns->discovered = !!(le16_to_cpu(raw_ssns->flags) & + (NBFT_SSNS_DISCOVERED_NAMESPACE | + NBFT_SSNS_SEPARATE_DISCOVERY_CTRL)); /* security profile */ if (raw_ssns->security_desc_index) { diff --git a/src/nvme/nbft.h b/src/nvme/nbft.h index e8ddbed0..eb443db2 100644 --- a/src/nvme/nbft.h +++ b/src/nvme/nbft.h @@ -1180,6 +1180,8 @@ enum nbft_info_nid_type { * Descriptor) or 0 if not supported. * @dhcp_root_path_string: DHCP Root Path Override string (SSNS Extended * Information Descriptor). + * @discovered: Indicates that this namespace was acquired + * through discovery. * @unavailable: Namespace is unavailable as indicated by * the pre-OS driver. */ @@ -1202,6 +1204,7 @@ struct nbft_info_subsystem_ns { int controller_id; int asqsz; char *dhcp_root_path_string; + bool discovered; bool unavailable; };