From 4aa1db0dce921a3b95a83b0790165a50b84497af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Ferr=C3=A3o?= <2031761+viniciusferrao@users.noreply.github.com> Date: Mon, 31 Aug 2026 19:53:01 -0300 Subject: [PATCH] refactor(getadapter): share PCI adapter scan --- xCAT-genesis-scripts/usr/bin/getadapter | 51 +++++++++++-------------- 1 file changed, 22 insertions(+), 29 deletions(-) diff --git a/xCAT-genesis-scripts/usr/bin/getadapter b/xCAT-genesis-scripts/usr/bin/getadapter index b090ba86e..717b70540 100755 --- a/xCAT-genesis-scripts/usr/bin/getadapter +++ b/xCAT-genesis-scripts/usr/bin/getadapter @@ -18,6 +18,24 @@ transmit_adapter_info() { fi } +append_missing_pci_adapters() { + local adapter_pattern=$1 + local adapter_file=$2 + local model_separator=$3 + local pci + local tmp + + for pci in $(lspci | awk -v adapter_pattern="$adapter_pattern" '$0 ~ adapter_pattern {print $1}'); do + if ! grep -q "$pci" "$adapter_file" 2>/dev/null; then + tmp="$(lspci | grep "$pci")" + echo " +$pci +${tmp##*"$model_separator"} +" >> "$adapter_file" + fi + done +} + rm -f "$SCANNICLOG" >/dev/null 2>&1 if [ -f "$ADAPTERFILE" ]; then @@ -66,35 +84,10 @@ for n in /sys/class/net/*; do fi done -for pci in $(lspci |awk '/Ethernet/ {print $1}'); do - if ! grep -q "$pci" "$ADAPTERFILE" 2>/dev/null; then - tmp="$(lspci |grep "$pci")" - echo " -$pci -${tmp##*:} -" >> "$ADAPTERFILE" - fi -done - -for pci in $(lspci |awk '/Network/ {print $1}'); do - if ! grep -q "$pci" "$ADAPTERFILE" 2>/dev/null; then - tmp="$(lspci |grep "$pci")" - echo " -$pci -${tmp##*: } -" >> "$ADAPTERFILE" - fi -done - -for pci in $(lspci |awk '/Mellanox/ {print $1}'); do - if ! grep -q "$pci" "$ADAPTERFILE" 2>/dev/null; then - tmp="$(lspci |grep "$pci")" - echo " -$pci -${tmp##*: } -" >> "$ADAPTERFILE" - fi -done +# Keep the legacy Ethernet model spacing while sharing the scan. +append_missing_pci_adapters "Ethernet" "$ADAPTERFILE" ":" +append_missing_pci_adapters "Network" "$ADAPTERFILE" ": " +append_missing_pci_adapters "Mellanox" "$ADAPTERFILE" ": " echo "" >> "$ADAPTERFILE"