!28 [sync] PR-24: 修复ndctl删除namespace异常报错

From: @openeuler-sync-bot 
Reviewed-by: @liuzhiqiang26 
Signed-off-by: @liuzhiqiang26
This commit is contained in:
openeuler-ci-bot 2023-01-06 06:44:03 +00:00 committed by Gitee
commit 5f4c96218a
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 56 additions and 2 deletions

View File

@ -0,0 +1,49 @@
From fb13dfb8d84c4f0a749665c8f07179450b199f3e Mon Sep 17 00:00:00 2001
From: Jeff Moyer <jmoyer@redhat.com>
Date: Tue, 9 Feb 2021 16:51:53 -0500
Subject: [PATCH] zero_info_block: skip seed devices
Currently, ndctl destroy-namespace -f all will output errors of the
form:
Error: destroy namespace: namespace0.0 failed to enable for zeroing, continuing
for any zero-sized namespace. That particular namespace looks like this:
{
"dev":"namespace0.0",
"mode":"raw",
"size":0,
"uuid":"00000000-0000-0000-0000-000000000000",
"sector_size":512,
"state":"disabled"
}
This patch skips over namespaces with size=0 when zeroing out info
blocks.
Fixes: 46654c2d60b70 ("ndctl/namespace: Always zero info-blocks")
Reported-by: Zhang Yi <yizhan@redhat.com>
Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
Link: https://lore.kernel.org/r/x49r1lohpty.fsf@segfault.boston.devel.redhat.com
---
ndctl/namespace.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/ndctl/namespace.c b/ndctl/namespace.c
index 1feb74d..1e8a2cd 100644
--- a/ndctl/namespace.c
+++ b/ndctl/namespace.c
@@ -1052,6 +1052,9 @@ static int zero_info_block(struct ndctl_namespace *ndns)
void *buf = NULL, *read_buf = NULL;
char path[50];
+ if (ndctl_namespace_get_size(ndns) == 0)
+ return 1;
+
ndctl_namespace_set_raw_mode(ndns, 1);
rc = ndctl_namespace_enable(ndns);
if (rc < 0) {
--
2.37.0.windows.1

View File

@ -1,6 +1,6 @@
Name: ndctl
Version: 68
Release: 3
Release: 4
Summary: Manage "libnvdimm" subsystem devices (Non-volatile Memory)
License: GPL-2.0-only and LGPL-2.1-only and MIT and CC0-1.0
Group: System Environment/Base
@ -8,6 +8,8 @@ Url: https://github.com/pmem/ndctl
Source0: https://github.com/pmem/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source1: dracut-nvdimm-security.conf
Patch1: 0001-zero_info_block-skip-seed-devices.patch
Requires: ndctl-libs%{?_isa} = %{version}-%{release}
Requires: daxctl-libs%{?_isa} = %{version}-%{release}
BuildRequires: autoconf
@ -88,7 +90,7 @@ control API for these devices.
%prep
%setup -q ndctl-%{version}
%autosetup -n ndctl-%{version} -p1
%build
echo %{version} > version
@ -155,6 +157,9 @@ make check
%changelog
* Fri Jan 6 2023 lihaoxiang <lihaoxiang9@huawei.com> - 68-4
- fix ndctl delete namespace exception
* Wed Jul 13 2022 Zhiqiang Liu <liuzhiqiang26@huawei.com> - 68-3
- correct License: add LGPLv2.1, MIT, CC0-1.0