!139 [sync] PR-136: lib/nvme: add mutex before submit admin request

From: @openeuler-sync-bot 
Reviewed-by: @swf504 
Signed-off-by: @swf504
This commit is contained in:
openeuler-ci-bot 2024-05-06 02:20:37 +00:00 committed by Gitee
commit 7a830be178
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 62 additions and 1 deletions

View File

@ -0,0 +1,57 @@
From 4224fc348bc320803ee7af2d091353cfb0f5981b Mon Sep 17 00:00:00 2001
From: Marcin Spiewak <marcin.spiewak@intel.com>
Date: Wed, 20 Mar 2024 16:59:06 +0100
Subject: [PATCH] lib/nvme: add mutex before submit admin request
Conflict:NA
Reference:https://github.com/spdk/spdk/commit/4224fc348bc320803ee7af2d091353cfb0f5981b
In nvme_ctrlr_cmd_identify(), the call to
nvme_ctrlr_submit_admin_request() shall be
preceeded by taking ctrlr->ctrlr_lock mutex,
like in other places in the code.
Change-Id: Ibd4ef2aa02d906dac853e537df9a837974b6c358
Signed-off-by: Marcin Spiewak <marcin.spiewak@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22419
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>
---
lib/nvme/nvme_ctrlr_cmd.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/lib/nvme/nvme_ctrlr_cmd.c b/lib/nvme/nvme_ctrlr_cmd.c
index bcc92b29c..2f00ef83c 100644
--- a/lib/nvme/nvme_ctrlr_cmd.c
+++ b/lib/nvme/nvme_ctrlr_cmd.c
@@ -152,11 +152,14 @@ nvme_ctrlr_cmd_identify(struct spdk_nvme_ctrlr *ctrlr, uint8_t cns, uint16_t cnt
{
struct nvme_request *req;
struct spdk_nvme_cmd *cmd;
+ int rc;
+ nvme_robust_mutex_lock(&ctrlr->ctrlr_lock);
req = nvme_allocate_request_user_copy(ctrlr->adminq,
payload, payload_size,
cb_fn, cb_arg, false);
if (req == NULL) {
+ nvme_robust_mutex_unlock(&ctrlr->ctrlr_lock);
return -ENOMEM;
}
@@ -167,7 +170,10 @@ nvme_ctrlr_cmd_identify(struct spdk_nvme_ctrlr *ctrlr, uint8_t cns, uint16_t cnt
cmd->cdw11_bits.identify.csi = csi;
cmd->nsid = nsid;
- return nvme_ctrlr_submit_admin_request(ctrlr, req);
+ rc = nvme_ctrlr_submit_admin_request(ctrlr, req);
+
+ nvme_robust_mutex_unlock(&ctrlr->ctrlr_lock);
+ return rc;
}
int
--
2.27.0

View File

@ -3,7 +3,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
@ -33,6 +33,7 @@ Patch22: 0022-Fix-the-build-error-ppc64le-gnu-gcc-does-not-support.patch
Patch23: 0023-Fix-probe-core-dump-while-admin-cmd-timeout.patch
Patch24: 0024-Fix-build-warning.patch
Patch25: 0025-ut-rdma-Fix-GCC-10.2.0-warning.patch
Patch26: 0026-lib-nvme-add-mutex-before-submit-admin-request.patch
%define package_version %{version}-%{release}
@ -203,6 +204,9 @@ mv doc/output/html/ %{install_docdir}
%changelog
* Mon Apr 29 2024 Hongtao Zhang <zhanghongtao22@huawei.com> - 21.01.1-13
- lib/nvme: add mutex before submit admin request
* Fri Mar 15 2024 wangxiaomeng <wangxiaomeng@kylinos.cn> - 21.01.1-12
- Fix build warning