Commit c8c4f71e authored by Michal Berger's avatar Michal Berger Committed by Tomasz Zawadzki
Browse files

gen_nvme: Be FreeBSD friendly



Since sysfs is not used by the FreeBSD the following error can be
seen each time gen_nvme.sh is run:

  grep: /sys/bus/pci/devices/$bdf/uevent: No such file or directory

Avoid that by looking up the pci address in a way specific to
FreeBSD.

Change-Id: If81e71cece52c2f27dcf68f7a7eba3dd7d8ce10f
Signed-off-by: default avatarMichal Berger <michalx.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2227


Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent d51345c0
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -39,10 +39,11 @@ bdfs=()
# then most likely PCI_WHITELIST option was used for setup.sh
# and we do not want to use that disk.
for bdf in $(iter_pci_class_code 01 08 02); do
	driver=$(grep DRIVER /sys/bus/pci/devices/$bdf/uevent | awk -F"=" '{print $2}')
	if [ "$driver" != "nvme" ]; then
		bdfs+=("$bdf")
	if [[ -e /sys/bus/pci/drivers/nvme/$bdf ]] \
		|| [[ $(uname -s) == FreeBSD && $(pciconf -l "pci$bdf") == nvme* ]]; then
		continue
	fi
	bdfs+=("$bdf")
done

if [ "$1" = "--json" ]; then