Skip to content

Commit

Permalink
Merge pull request #1 from mwilck/fix-num-hfis
Browse files Browse the repository at this point in the history
nbft: avoid duplicate entries in ssns->hfis
  • Loading branch information
tbzatek authored Jan 12, 2024
2 parents 8d89f03 + cf6c8b2 commit b251b26
Show file tree
Hide file tree
Showing 9 changed files with 30 additions and 18 deletions.
21 changes: 21 additions & 0 deletions src/nvme/nbft.c
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,27 @@ static int read_ssns(struct nbft_info *nbft,
}
ssns->num_hfis = 1;
for (i = 0; i < le16_to_cpu(raw_ssns->secondary_hfi_assoc_obj.length); i++) {
bool duplicate = false;
int j;

for (j = 0; j < i; j++) {
if (ss_hfi_indexes[i] == ss_hfi_indexes[j]) {
duplicate = true;
break;
}
}

if (!duplicate &&
ss_hfi_indexes[i] == raw_ssns->primary_hfi_desc_index)
duplicate = true;

if (duplicate) {
nvme_msg(NULL, LOG_DEBUG,
"file %s: SSNS %d skipping duplicate HFI index %d\n",
nbft->filename, ssns->index, ss_hfi_indexes[i]);
continue;
}

ssns->hfis[i + 1] = hfi_from_index(nbft, ss_hfi_indexes[i]);
if (ss_hfi_indexes[i] && !ssns->hfis[i + 1])
nvme_msg(NULL, LOG_DEBUG,
Expand Down
6 changes: 2 additions & 4 deletions test/nbft/diffs/NBFT-Dell.PowerEdge.R760
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,8 @@ discovery_list[0]->uri=nvme+tcp://100.71.103.50:8009/
discovery_list[0]->nqn=nqn.2014-08.org.nvmexpress.discovery
subsystem_ns_list[0]->index=1
subsystem_ns_list[0]->discovery->index=1
subsystem_ns_list[0]->num_hfis=2
subsystem_ns_list[0]->num_hfis=1
subsystem_ns_list[0]->hfis[0]->index=1
subsystem_ns_list[0]->hfis[1]->index=1
subsystem_ns_list[0]->transport=tcp
subsystem_ns_list[0]->traddr=100.71.103.48
subsystem_ns_list[0]->trsvcid=4420
Expand All @@ -44,9 +43,8 @@ subsystem_ns_list[0]->asqsz=0
subsystem_ns_list[0]->dhcp_root_path_string=(null)
subsystem_ns_list[1]->index=2
subsystem_ns_list[1]->discovery->index=1
subsystem_ns_list[1]->num_hfis=2
subsystem_ns_list[1]->num_hfis=1
subsystem_ns_list[1]->hfis[0]->index=1
subsystem_ns_list[1]->hfis[1]->index=1
subsystem_ns_list[1]->transport=tcp
subsystem_ns_list[1]->traddr=100.71.103.49
subsystem_ns_list[1]->trsvcid=4420
Expand Down
3 changes: 1 addition & 2 deletions test/nbft/diffs/NBFT-auto-ipv6
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,8 @@ hfi_list[0]->tcp_info.host_name=nvmepoc-sles15-sp5
hfi_list[0]->tcp_info.this_hfi_is_default_route=1
hfi_list[0]->tcp_info.dhcp_override=0
subsystem_ns_list[0]->index=1
subsystem_ns_list[0]->num_hfis=2
subsystem_ns_list[0]->num_hfis=1
subsystem_ns_list[0]->hfis[0]->index=1
subsystem_ns_list[0]->hfis[1]->index=1
subsystem_ns_list[0]->transport=tcp
subsystem_ns_list[0]->traddr=fd09:9a46:b5c1:1ff:5054:ff:fefd:9e66
subsystem_ns_list[0]->trsvcid=4420
Expand Down
3 changes: 1 addition & 2 deletions test/nbft/diffs/NBFT-dhcp-ipv4
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,8 @@ discovery_list[0]->uri=nvme+tcp://192.168.49.10:4420/
discovery_list[0]->nqn=nqn.2014-08.org.nvmexpress.discovery
subsystem_ns_list[0]->index=1
subsystem_ns_list[0]->discovery->index=1
subsystem_ns_list[0]->num_hfis=2
subsystem_ns_list[0]->num_hfis=1
subsystem_ns_list[0]->hfis[0]->index=1
subsystem_ns_list[0]->hfis[1]->index=1
subsystem_ns_list[0]->transport=tcp
subsystem_ns_list[0]->traddr=192.168.49.10
subsystem_ns_list[0]->trsvcid=4420
Expand Down
3 changes: 1 addition & 2 deletions test/nbft/diffs/NBFT-dhcp-ipv6
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,8 @@ hfi_list[0]->tcp_info.host_name=nvmeof-sles
hfi_list[0]->tcp_info.this_hfi_is_default_route=1
hfi_list[0]->tcp_info.dhcp_override=1
subsystem_ns_list[0]->index=1
subsystem_ns_list[0]->num_hfis=2
subsystem_ns_list[0]->num_hfis=1
subsystem_ns_list[0]->hfis[0]->index=1
subsystem_ns_list[0]->hfis[1]->index=1
subsystem_ns_list[0]->transport=tcp
subsystem_ns_list[0]->traddr=fddf:d:f:49::10
subsystem_ns_list[0]->trsvcid=4420
Expand Down
3 changes: 1 addition & 2 deletions test/nbft/diffs/NBFT-rhpoc
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,8 @@ hfi_list[0]->tcp_info.host_name=host-vm
hfi_list[0]->tcp_info.this_hfi_is_default_route=1
hfi_list[0]->tcp_info.dhcp_override=0
subsystem_ns_list[0]->index=1
subsystem_ns_list[0]->num_hfis=2
subsystem_ns_list[0]->num_hfis=1
subsystem_ns_list[0]->hfis[0]->index=1
subsystem_ns_list[0]->hfis[1]->index=1
subsystem_ns_list[0]->transport=tcp
subsystem_ns_list[0]->traddr=192.168.101.20
subsystem_ns_list[0]->trsvcid=4420
Expand Down
3 changes: 1 addition & 2 deletions test/nbft/diffs/NBFT-static-ipv4
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,8 @@ hfi_list[0]->tcp_info.host_name=nvmeof-sles
hfi_list[0]->tcp_info.this_hfi_is_default_route=1
hfi_list[0]->tcp_info.dhcp_override=0
subsystem_ns_list[0]->index=1
subsystem_ns_list[0]->num_hfis=2
subsystem_ns_list[0]->num_hfis=1
subsystem_ns_list[0]->hfis[0]->index=1
subsystem_ns_list[0]->hfis[1]->index=1
subsystem_ns_list[0]->transport=tcp
subsystem_ns_list[0]->traddr=192.168.49.10
subsystem_ns_list[0]->trsvcid=4420
Expand Down
3 changes: 1 addition & 2 deletions test/nbft/diffs/NBFT-static-ipv4-discovery
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,8 @@ discovery_list[0]->uri=nvme+tcp://192.168.49.10:4420/
discovery_list[0]->nqn=nqn.2014-08.org.nvmexpress.discovery
subsystem_ns_list[0]->index=1
subsystem_ns_list[0]->discovery->index=1
subsystem_ns_list[0]->num_hfis=2
subsystem_ns_list[0]->num_hfis=1
subsystem_ns_list[0]->hfis[0]->index=1
subsystem_ns_list[0]->hfis[1]->index=1
subsystem_ns_list[0]->transport=tcp
subsystem_ns_list[0]->traddr=192.168.49.10
subsystem_ns_list[0]->trsvcid=4420
Expand Down
3 changes: 1 addition & 2 deletions test/nbft/diffs/NBFT-static-ipv6
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,8 @@ hfi_list[0]->tcp_info.host_name=nvmepoc-sles15-sp5
hfi_list[0]->tcp_info.this_hfi_is_default_route=1
hfi_list[0]->tcp_info.dhcp_override=0
subsystem_ns_list[0]->index=1
subsystem_ns_list[0]->num_hfis=2
subsystem_ns_list[0]->num_hfis=1
subsystem_ns_list[0]->hfis[0]->index=1
subsystem_ns_list[0]->hfis[1]->index=1
subsystem_ns_list[0]->transport=tcp
subsystem_ns_list[0]->traddr=fd09:9a46:b5c1:1fe::13f
subsystem_ns_list[0]->trsvcid=4420
Expand Down

0 comments on commit b251b26

Please sign in to comment.