Commit 258b7fbf authored by Michal Berger's avatar Michal Berger Committed by Konrad Sztyber
Browse files

test/nvme: Add helper functions to detect FDP-capable nvme



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


Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <smatsumoto@nvidia.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent 29ba5b1b
Loading
Loading
Loading
Loading
+34 −0
Original line number Diff line number Diff line
@@ -161,3 +161,37 @@ get_nvme_with_ns_management() {
	fi
	return 1
}

get_ctratt() {
	local ctrl=$1
	get_nvme_ctrl_feature "$ctrl" ctratt
}

ctrl_has_fdp() {
	local ctrl=$1 ctratt

	ctratt=$(get_ctratt "$ctrl")
	# See include/spdk/nvme_spec.h
	((ctratt & 1 << 19))
}

get_ctrls_with_fdp() {
	((${#ctrls[@]} == 0)) && scan_nvme_ctrls

	local ctrl
	for ctrl in "${!ctrls[@]}"; do
		ctrl_has_fdp "$ctrl" && echo "$ctrl"
	done

}

get_ctrl_with_fdp() {
	local _ctrls

	_ctrls=($(get_ctrls_with_fdp))
	if ((${#_ctrls[@]} > 0)); then
		echo "${_ctrls[0]}"
		return 0
	fi
	return 1
}