scripts/vagrant: Allow to configure active metadata size for nvme

The argument is treated as bool and the actual value of the metadata
size is set to 64B.

https://trello.com/c/neiHoXlr/448-add-extra-nvme-drive-to-vms-to-accommodate-for-new-ftl-tests

Signed-off-by: Michal Berger <michal.berger@intel.com>
Change-Id: Icd96903a5fa186373de1c647e3885f0162ffd579
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14007
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Dong Yi <dongx.yi@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Michal Berger 2022-08-12 11:49:27 +02:00 committed by Jim Harris
parent 8b6fc34939
commit c4acef02aa
2 changed files with 11 additions and 4 deletions

View File

@ -135,6 +135,8 @@ def setup_nvme_disk(libvirt, disk, index)
nvme_cmbs=(ENV['NVME_CMB'] || "").split(',') nvme_cmbs=(ENV['NVME_CMB'] || "").split(',')
nvme_pmrs=(ENV['NVME_PMR'] || "").split(',') nvme_pmrs=(ENV['NVME_PMR'] || "").split(',')
nvme_zns=(ENV['NVME_ZNS'] || "").split(',') nvme_zns=(ENV['NVME_ZNS'] || "").split(',')
nvme_ms=(ENV['NVME_MS'] || "").split(',')
namespace_disks = [] namespace_disks = []
pmr_cmdline = "" pmr_cmdline = ""
@ -187,10 +189,11 @@ def setup_nvme_disk(libvirt, disk, index)
next next
end end
zoned = nvme_zns[index].nil? ? "false" : "true" zoned = nvme_zns[index].nil? ? "false" : "true"
ms = nvme_ms[index].nil? ? "" : ",ms=64"
libvirt.qemuargs :value => "-drive" libvirt.qemuargs :value => "-drive"
libvirt.qemuargs :value => "format=raw,file=#{disk},if=none,id=#{nvme_disk_id}-drive#{nsid}" libvirt.qemuargs :value => "format=raw,file=#{disk},if=none,id=#{nvme_disk_id}-drive#{nsid}"
libvirt.qemuargs :value => "-device" libvirt.qemuargs :value => "-device"
libvirt.qemuargs :value => "nvme-ns,drive=#{nvme_disk_id}-drive#{nsid},bus=#{nvme_disk_id},nsid=#{nsid + 1},zoned=#{zoned},logical_block_size=4096,physical_block_size=4096" libvirt.qemuargs :value => "nvme-ns,drive=#{nvme_disk_id}-drive#{nsid},bus=#{nvme_disk_id},nsid=#{nsid + 1},zoned=#{zoned},logical_block_size=4096,physical_block_size=4096#{ms}"
} }
end end

View File

@ -30,11 +30,12 @@ display_help() {
echo " If no -b option is specified then this option defaults to emulating single" echo " If no -b option is specified then this option defaults to emulating single"
echo " NVMe with 1 namespace and assumes path: /var/lib/libvirt/images/nvme_disk.img" echo " NVMe with 1 namespace and assumes path: /var/lib/libvirt/images/nvme_disk.img"
echo " -b option can be used multiple times for attaching multiple files to the VM" echo " -b option can be used multiple times for attaching multiple files to the VM"
echo " Parameters for -b option: <path>,<type>,<ns_path1[:ns_path1:...]>,<cmb>,<pmr_file[:pmr_size]>" echo " Parameters for -b option: <path>,<type>,<ns_path1[:ns_path1:...]>,<cmb>,<pmr_file[:pmr_size]>,<ms>"
echo " Available types: nvme" echo " Available types: nvme"
echo " Default pmr size: 16M" echo " Default pmr size: 16M"
echo " Default cmb: false" echo " Default cmb: false"
echo " type, ns_path, cmb and pmr can be empty" echo " Default ms: none"
echo " type, ns_path, cmb, pmr and ms can be empty"
echo " -c Create all above disk, default 0" echo " -c Create all above disk, default 0"
echo " -H Use hugepages for allocating VM memory. Only for libvirt provider. Default: false." echo " -H Use hugepages for allocating VM memory. Only for libvirt provider. Default: false."
echo " -u Use password authentication to the VM instead of SSH keys." echo " -u Use password authentication to the VM instead of SSH keys."
@ -193,7 +194,7 @@ if [ -z "$NVME_FILE" ]; then
else else
TMP="" TMP=""
for args in $NVME_FILE; do for args in $NVME_FILE; do
while IFS=, read -r path type namespace cmb pmr zns; do while IFS=, read -r path type namespace cmb pmr zns ms; do
TMP+="$path," TMP+="$path,"
if [ -z "$type" ]; then if [ -z "$type" ]; then
type="nvme" type="nvme"
@ -203,6 +204,7 @@ else
NVME_ZNS+="$zns," NVME_ZNS+="$zns,"
NVME_DISKS_TYPE+="$type," NVME_DISKS_TYPE+="$type,"
NVME_DISKS_NAMESPACES+="$namespace," NVME_DISKS_NAMESPACES+="$namespace,"
NVME_MS+="$ms,"
if [ ${NVME_AUTO_CREATE} = 1 ]; then if [ ${NVME_AUTO_CREATE} = 1 ]; then
$SPDK_DIR/scripts/vagrant/create_nvme_img.sh -n $path $SPDK_DIR/scripts/vagrant/create_nvme_img.sh -n $path
fi fi
@ -225,6 +227,7 @@ if [ ${VERBOSE} = 1 ]; then
echo NVME_CMB=$NVME_CMB echo NVME_CMB=$NVME_CMB
echo NVME_PMR=$NVME_PMR echo NVME_PMR=$NVME_PMR
echo NVME_ZNS=$NVME_ZNS echo NVME_ZNS=$NVME_ZNS
echo NVME_MS=$NVME_MS
echo SPDK_VAGRANT_DISTRO=$SPDK_VAGRANT_DISTRO echo SPDK_VAGRANT_DISTRO=$SPDK_VAGRANT_DISTRO
echo SPDK_VAGRANT_VMCPU=$SPDK_VAGRANT_VMCPU echo SPDK_VAGRANT_VMCPU=$SPDK_VAGRANT_VMCPU
echo SPDK_VAGRANT_VMRAM=$SPDK_VAGRANT_VMRAM echo SPDK_VAGRANT_VMRAM=$SPDK_VAGRANT_VMRAM
@ -251,6 +254,7 @@ export DEPLOY_TEST_VM
export NVME_CMB export NVME_CMB
export NVME_PMR export NVME_PMR
export NVME_ZNS export NVME_ZNS
export NVME_MS
export NVME_DISKS_TYPE export NVME_DISKS_TYPE
export NVME_DISKS_NAMESPACES export NVME_DISKS_NAMESPACES
export NVME_FILE export NVME_FILE