!78 回合上游补丁

From: @kk-t 
Reviewed-by: @Zht-Try, @swf504 
Signed-off-by: @swf504
This commit is contained in:
openeuler-ci-bot 2023-03-27 01:40:25 +00:00 committed by Gitee
commit 453858778d
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
7 changed files with 268 additions and 1 deletions

View File

@ -0,0 +1,35 @@
From b76cb37ce4bfd53eb48ae299cf0067b4647f8a21 Mon Sep 17 00:00:00 2001
From: Michal Berger <michal.berger@intel.com>
Date: Mon, 31 Oct 2022 09:25:11 +0100
Subject: [PATCH] test/nvmf: Fix trap
Also, add at_app_exit() to make sure that all vhost and qemu
instances are terminated as well.
Signed-off-by: Michal Berger <michal.berger@intel.com>
Change-Id: I917f1cb1b02d18b78a482d754a19f509e580fc98
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15185
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Pawel Piatek <pawelx.piatek@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
---
test/nvmf/target/nvmf_vhost.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/nvmf/target/nvmf_vhost.sh b/test/nvmf/target/nvmf_vhost.sh
index 9c9dde35d..c00a66b18 100755
--- a/test/nvmf/target/nvmf_vhost.sh
+++ b/test/nvmf/target/nvmf_vhost.sh
@@ -35,7 +35,7 @@ mkdir -p "$(get_vhost_dir 3)"
vhostpid=$!
waitforlisten $vhostpid $NVMF_SOCK
-trap 'process_shm --id $NVMF_APP_SHM_ID; killprocess $vhostpid nvmftestfini; exit 1' SIGINT SIGTERM EXIT
+trap 'process_shm --id $NVMF_APP_SHM_ID; nvmftestfini; at_app_exit; exit 1' SIGINT SIGTERM EXIT
# Configure NVMF tgt on host machine
malloc_bdev="$($NVMF_RPC bdev_malloc_create $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE)"
--
2.37.2.windows.2

View File

@ -0,0 +1,51 @@
From 6882e04563c8b406c2751ad258b5dd87786937aa Mon Sep 17 00:00:00 2001
From: Karol Latecki <karol.latecki@intel.com>
Date: Thu, 28 Jan 2021 14:04:03 +0100
Subject: [PATCH] scripts/nvmf_perf: fix pylint C0411 wrong import order
Standard lib modules first, then pip installed modules
and local modules last.
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: If0159fad29bab5bef0b69aa803e3cea429cc5f25
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6202
Reviewed-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Pawel Piatek <pawelx.piatek@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
---
scripts/perf/nvmf/run_nvmf.py | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/scripts/perf/nvmf/run_nvmf.py b/scripts/perf/nvmf/run_nvmf.py
index 2883d9a99..2c5331e86 100755
--- a/scripts/perf/nvmf/run_nvmf.py
+++ b/scripts/perf/nvmf/run_nvmf.py
@@ -4,17 +4,19 @@ import os
import re
import sys
import json
-import paramiko
import zipfile
import threading
import subprocess
import itertools
import time
import uuid
+from collections import OrderedDict
+
+import paramiko
+import pandas as pd
+
import rpc
import rpc.client
-import pandas as pd
-from collections import OrderedDict
from common import *
--
2.37.2.windows.2

View File

@ -0,0 +1,43 @@
From 62c2c1c110f7d569110876108963d118fe20af34 Mon Sep 17 00:00:00 2001
From: Karol Latecki <karol.latecki@intel.com>
Date: Thu, 28 Jan 2021 14:08:31 +0100
Subject: [PATCH] scripts/nvmf_perf: fix pylint E1111 error - assignment on no
return
Fix assigning variables from functions which return nothing.
Change-Id: Ic54dc0d42e3339cda23970ed347ac6f7bf92e795
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6203
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Community-CI: Mellanox Build Bot
---
scripts/perf/nvmf/run_nvmf.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/scripts/perf/nvmf/run_nvmf.py b/scripts/perf/nvmf/run_nvmf.py
index 2c5331e86..63179923a 100755
--- a/scripts/perf/nvmf/run_nvmf.py
+++ b/scripts/perf/nvmf/run_nvmf.py
@@ -647,11 +647,11 @@ class SPDKTarget(Target):
rpc.client.print_dict(rpc.nvmf.nvmf_get_transports(self.client))
if self.null_block:
- nvme_section = self.spdk_tgt_add_nullblock(self.null_block)
- subsystems_section = self.spdk_tgt_add_subsystem_conf(self.nic_ips, self.null_block)
+ self.spdk_tgt_add_nullblock(self.null_block)
+ self.spdk_tgt_add_subsystem_conf(self.nic_ips, self.null_block)
else:
- nvme_section = self.spdk_tgt_add_nvme_conf()
- subsystems_section = self.spdk_tgt_add_subsystem_conf(self.nic_ips)
+ self.spdk_tgt_add_nvme_conf()
+ self.spdk_tgt_add_subsystem_conf(self.nic_ips)
self.log_print("Done configuring SPDK NVMeOF Target")
def spdk_tgt_add_nullblock(self, null_block_count):
--
2.37.2.windows.2

View File

@ -0,0 +1,37 @@
From 4dd1548be3a04d4ae072c4edcfc0a349036f4df2 Mon Sep 17 00:00:00 2001
From: Karol Latecki <karol.latecki@intel.com>
Date: Thu, 28 Jan 2021 16:30:49 +0100
Subject: [PATCH] scripts/nvmf_perf: check "extra_params" key berofe accessing
it
If config without this field was used then
script resulted in KeyError exception.
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: Icf0b270d28dcc6bf44b66c4b9ed583a6b3ef08b6
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6204
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Maciej Wawryk <maciejx.wawryk@intel.com>
---
scripts/perf/nvmf/run_nvmf.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/perf/nvmf/run_nvmf.py b/scripts/perf/nvmf/run_nvmf.py
index 63179923a..7885ff2f0 100755
--- a/scripts/perf/nvmf/run_nvmf.py
+++ b/scripts/perf/nvmf/run_nvmf.py
@@ -772,7 +772,7 @@ class KernelInitiator(Initiator):
cpu_frequency=cpu_frequency, fio_bin=fio_bin)
self.extra_params = ""
- if kwargs["extra_params"]:
+ if "extra_params" in kwargs.keys():
self.extra_params = kwargs["extra_params"]
def __del__(self):
--
2.37.2.windows.2

View File

@ -0,0 +1,46 @@
From 74b2916c4a7d90a882b671c925f0e86dc0cb6338 Mon Sep 17 00:00:00 2001
From: Ziye Yang <ziye.yang@intel.com>
Date: Sat, 30 Jan 2021 01:25:32 +0800
Subject: [PATCH] nvme/rdma: Only wait for the RDMA event if
spdk_rdma_qp_disconnect return 0
If rdma_qp_disconnect is not correctly sent out, we will not wait
for the event.
Change-Id: I99701e421dc93909d481ccf35e9bfd8004e60da8
Signed-off-by: Ziye Yang <ziye.yang@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6163
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: <dongx.yi@intel.com>
---
lib/nvme/nvme_rdma.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/lib/nvme/nvme_rdma.c b/lib/nvme/nvme_rdma.c
index 1046f3d91..47023c083 100644
--- a/lib/nvme/nvme_rdma.c
+++ b/lib/nvme/nvme_rdma.c
@@ -1646,6 +1646,7 @@ nvme_rdma_ctrlr_disconnect_qpair(struct spdk_nvme_ctrlr *ctrlr, struct spdk_nvme
struct nvme_rdma_qpair *rqpair = nvme_rdma_qpair(qpair);
struct nvme_rdma_ctrlr *rctrlr = NULL;
struct nvme_rdma_cm_event_entry *entry, *tmp;
+ int rc;
spdk_rdma_free_mem_map(&rqpair->mr_map);
nvme_rdma_unregister_reqs(rqpair);
@@ -1673,8 +1674,8 @@ nvme_rdma_ctrlr_disconnect_qpair(struct spdk_nvme_ctrlr *ctrlr, struct spdk_nvme
if (rqpair->cm_id) {
if (rqpair->rdma_qp) {
- spdk_rdma_qp_disconnect(rqpair->rdma_qp);
- if (rctrlr != NULL) {
+ rc = spdk_rdma_qp_disconnect(rqpair->rdma_qp);
+ if ((rctrlr != NULL) && (rc == 0)) {
if (nvme_rdma_process_event(rqpair, rctrlr->cm_channel, RDMA_CM_EVENT_DISCONNECTED)) {
SPDK_DEBUGLOG(nvme, "Target did not respond to qpair disconnect.\n");
}
--
2.37.2.windows.2

View File

@ -0,0 +1,46 @@
From b56f1ef5e47b740e2934ef25ea9d051bde8917d4 Mon Sep 17 00:00:00 2001
From: Matthew King <matthew.king@xilinx.com>
Date: Mon, 18 Jan 2021 16:42:09 +0000
Subject: [PATCH] Cleanup: Fix boolean arg in fio plugin.
In fio, bools are represented as ints. They have to be read into int entries
in the options struct, or memory corruption may occur.
Also provided a default to bring it more in line with existing fio code.
Signed-off-by: Matthew King <matthew.king@xilinx.com>
Change-Id: Ib718653d6597a287bf8ff96d2fb864e46295751d
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6147
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: <dongx.yi@intel.com>
---
examples/bdev/fio_plugin/fio_plugin.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/examples/bdev/fio_plugin/fio_plugin.c b/examples/bdev/fio_plugin/fio_plugin.c
index 90f1c4bb4..8d82e0363 100644
--- a/examples/bdev/fio_plugin/fio_plugin.c
+++ b/examples/bdev/fio_plugin/fio_plugin.c
@@ -59,7 +59,7 @@ struct spdk_fio_options {
char *conf;
char *json_conf;
unsigned mem_mb;
- bool mem_single_seg;
+ int mem_single_seg;
};
struct spdk_fio_request {
@@ -789,6 +789,7 @@ static struct fio_option options[] = {
.type = FIO_OPT_BOOL,
.off1 = offsetof(struct spdk_fio_options, mem_single_seg),
.help = "If set to 1, SPDK will use just a single hugetlbfs file",
+ .def = "0",
.category = FIO_OPT_C_ENGINE,
.group = FIO_OPT_G_INVALID,
},
--
2.37.2.windows.2

View File

@ -4,7 +4,7 @@
Name: spdk
Version: 21.01.1
Release: 12
Release: 13
Summary: Set of libraries and utilities for high performance user-mode storage
License: BSD and MIT
URL: http://spdk.io
@ -42,6 +42,12 @@ Patch30: 0030-nvme_ctrlr_abort_queued_aborts-Segmentation-fault-oc.patch
Patch31: 0031-Fix-UAF-in-STAILQ_FOREACH.patch
Patch32: 0032-spdk-upgrade-ocf-lib-and-ocf-bdev-to-latest-SPDK-22.patch
Patch33: 0033-SPDK-enable-xcache.patch
Patch34: 0034-test-nvmf-Fix-trap.patch
Patch35: 0035-scripts-nvmf_perf-fix-pylint-C0411-wrong-import-orde.patch
Patch36: 0036-scripts-nvmf_perf-fix-pylint-E1111-error-assignment-.patch
Patch37: 0037-scripts-nvmf_perf-check-extra_params-key-berofe-acce.patch
Patch38: 0038-nvme-rdma-Only-wait-for-the-RDMA-event-if-spdk_rdma_.patch
Patch39: 0039-Cleanup-Fix-boolean-arg-in-fio-plugin.patch
%define package_version %{version}-%{release}
@ -218,6 +224,9 @@ mv doc/output/html/ %{install_docdir}
%changelog
* Wed Mar 15 2023 tongkunkun <tongkunkun_yewu@cmss.chinamobile.com>- 21.01.1-13
- backport upstream patches
* Thu Jan 19 2023 shikemeng <shikemeng@huawei.com> - 21.01.1-12
- Fix compile error that "undefined reference to spdk_backdev_submit_io"