Commit a24a89f8 authored by Alexey Marchuk's avatar Alexey Marchuk Committed by Tomasz Zawadzki
Browse files

test/nvmf: Find uuid for ns by nsid



It was observed that Fedora 40 enumerates
nvme namespaces igniring nsid. It is needed
to update the test to find uuid of a namespace
by its nsid but not just dev name

Signed-off-by: default avatarAlexey Marchuk <alexeymar@nvidia.com>
Change-Id: I7012a46c749dfc1b86d5abbe119bc17c3aaa1011
Reviewed-on: https://review.spdk.io/c/spdk/spdk/+/25681


Reviewed-by: default avatarTomasz Zawadzki <tomasz@tzawadzki.com>
Reviewed-by: default avatarJim Harris <jim.harris@nvidia.com>
Reviewed-by: default avatarKonrad Sztyber <ksztyber@nvidia.com>
Tested-by: default avatarTomasz Zawadzki <tomasz@tzawadzki.com>
parent 6e9b51c5
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -37,10 +37,17 @@ nvme_connect() {
}

nvme_get_nguid() {
	local ctrlr=$1 nsid=$2 nguid
	local ctrlr=$1 nsid=$2 nguid ctrlr_id
	ctrlr_id=$(echo $ctrlr | grep -o '[0-9]')

	nguid=$(nvme id-ns "/dev/${ctrlr}n${nsid}" -o json | jq -r '.nguid')
	echo "${nguid^^}"
	for ns in "/sys/class/nvme/${ctrlr}/${ctrlr}c${ctrlr_id}n"*; do
		[[ -e $ns/nsid && $(< "$ns/nsid") == "$nsid" ]] || continue
		nguid=$(cat $ns/nguid)
		uuid2nguid ${nguid^^}
		return 0
	done

	return 1
}

nvmftestinit