fix build error of unversioned obsoletes and remove unnecessary patches
Signed-off-by: geruijun <geruijun@huawei.com>
This commit is contained in:
parent
609b76074d
commit
b0b2f5862c
@ -1,96 +0,0 @@
|
||||
From 663614825c5d7ba7a66631af0b0efd7037569337 Mon Sep 17 00:00:00 2001
|
||||
From: Vojtech Trefny <vtrefny@redhat.com>
|
||||
Date: Tue, 2 Jun 2020 10:20:35 +0200
|
||||
Subject: [PATCH 164/193] dm: Do not try to activate already active DMRAID sets
|
||||
|
||||
---
|
||||
src/plugins/dm.c | 45 +++++++++++++++++++++++++++++++++++++++++++--
|
||||
1 file changed, 43 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/plugins/dm.c b/src/plugins/dm.c
|
||||
index afb387c..af7e60b 100644
|
||||
--- a/src/plugins/dm.c
|
||||
+++ b/src/plugins/dm.c
|
||||
@@ -516,6 +516,29 @@ static void find_raid_sets_for_dev (const gchar *name, const gchar *uuid, gint m
|
||||
}
|
||||
}
|
||||
}
|
||||
+
|
||||
+static gboolean get_raid_set_status (struct raid_set *rs, GError **error) {
|
||||
+ struct dm_task *dmt = NULL;
|
||||
+ struct dm_info info;
|
||||
+ gboolean ret;
|
||||
+
|
||||
+ dmt = dm_task_create (DM_DEVICE_STATUS);
|
||||
+ if (!dmt) {
|
||||
+ g_set_error (error, BD_DM_ERROR, BD_DM_ERROR_TASK,
|
||||
+ "Failed to create DM task");
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ if (!dm_task_set_name (dmt, rs->name) || !dm_task_run (dmt) || !dm_task_get_info (dmt, &info)) {
|
||||
+ /* the DM device doesn't exist or some weird error appeared, just assume the RAID set is not active */
|
||||
+ dm_task_destroy (dmt);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ ret = info.exists;
|
||||
+ dm_task_destroy (dmt);
|
||||
+ return ret;
|
||||
+}
|
||||
#endif // WITH_BD_DMRAID
|
||||
|
||||
/**
|
||||
@@ -610,6 +633,7 @@ static gboolean change_set_by_name (const gchar *name, enum activate_type action
|
||||
struct lib_context *lc = NULL;
|
||||
struct raid_set *iter_rs = NULL;
|
||||
struct raid_set *match_rs = NULL;
|
||||
+ gboolean status = FALSE;
|
||||
|
||||
lc = init_dmraid_stack (error);
|
||||
if (!lc)
|
||||
@@ -629,6 +653,19 @@ static gboolean change_set_by_name (const gchar *name, enum activate_type action
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
+ status = get_raid_set_status (match_rs, error);
|
||||
+ if (!status && error) {
|
||||
+ g_prefix_error (error, "Failed to get status for the RAID set '%s'", name);
|
||||
+ libdmraid_exit (lc);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ if (action == A_ACTIVATE && status) {
|
||||
+ /* nothing to do here the set is already in the desired state */
|
||||
+ libdmraid_exit (lc);
|
||||
+ return TRUE;
|
||||
+ }
|
||||
+
|
||||
rc = change_set (lc, action, match_rs);
|
||||
if (!rc) {
|
||||
g_set_error (error, BD_DM_ERROR, BD_DM_ERROR_RAID_FAIL,
|
||||
@@ -647,7 +684,9 @@ static gboolean change_set_by_name (const gchar *name, enum activate_type action
|
||||
* @name: name of the DM RAID set to activate
|
||||
* @error: (out): variable to store error (if any)
|
||||
*
|
||||
- * Returns: whether the RAID set @name was successfully activate or not
|
||||
+ * Returns: whether the RAID set @name was successfully activated or not
|
||||
+ *
|
||||
+ * Note: This is a no-op for already active RAID sets.
|
||||
*
|
||||
* Tech category: %BD_DM_TECH_RAID-%BD_DM_TECH_MODE_CREATE_ACTIVATE
|
||||
*/
|
||||
@@ -676,7 +715,9 @@ gboolean bd_dm_activate_raid_set (const gchar *name, GError **error) {
|
||||
* @name: name of the DM RAID set to deactivate
|
||||
* @error: (out): variable to store error (if any)
|
||||
*
|
||||
- * Returns: whether the RAID set @name was successfully deactivate or not
|
||||
+ * Returns: whether the RAID set @name was successfully deactivated or not
|
||||
+ *
|
||||
+ * Note: This function will return an error for non-existing (or deactivated) RAID sets.
|
||||
*
|
||||
* Tech category: %BD_DM_TECH_RAID-%BD_DM_TECH_MODE_REMOVE_DEACTIVATE
|
||||
*/
|
||||
--
|
||||
1.8.3.1
|
||||
|
||||
@ -1,61 +0,0 @@
|
||||
From 5c12914d465edf608a4596bff4e4caa70897b7fe Mon Sep 17 00:00:00 2001
|
||||
From: Vojtech Trefny <vtrefny@redhat.com>
|
||||
Date: Tue, 2 Jun 2020 10:46:31 +0200
|
||||
Subject: [PATCH 165/193] mdraid: Do not try to activate already active MDRAID
|
||||
devices
|
||||
|
||||
---
|
||||
src/plugins/mdraid.c | 16 ++++++++++++++++
|
||||
tests/mdraid_test.py | 5 +++++
|
||||
2 files changed, 21 insertions(+)
|
||||
|
||||
diff --git a/src/plugins/mdraid.c b/src/plugins/mdraid.c
|
||||
index e5be1b1..af5f913 100644
|
||||
--- a/src/plugins/mdraid.c
|
||||
+++ b/src/plugins/mdraid.c
|
||||
@@ -720,10 +720,26 @@ gboolean bd_md_activate (const gchar *raid_spec, const gchar **members, const gc
|
||||
guint argv_top = 0;
|
||||
guint i = 0;
|
||||
gboolean ret = FALSE;
|
||||
+ BDMDDetailData *data = NULL;
|
||||
|
||||
if (!check_deps (&avail_deps, DEPS_MDADM_MASK, deps, DEPS_LAST, &deps_check_lock, error))
|
||||
return FALSE;
|
||||
|
||||
+ if (raid_spec) {
|
||||
+ data = bd_md_detail (raid_spec, error);
|
||||
+ if (!data)
|
||||
+ g_clear_error (error);
|
||||
+ else {
|
||||
+ bd_utils_log_format (BD_UTILS_LOG_INFO,
|
||||
+ "RAID array '%s' is already active with %"G_GUINT64_FORMAT" devices"
|
||||
+ " (%"G_GUINT64_FORMAT" active, %"G_GUINT64_FORMAT" spare)",
|
||||
+ raid_spec, data->total_devices,
|
||||
+ data->active_devices, data->spare_devices);
|
||||
+ bd_md_detail_data_free (data);
|
||||
+ return TRUE;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
/* mdadm, --assemble, raid_spec/--scan, --run, --uuid=uuid, member1, member2,..., NULL*/
|
||||
argv = g_new0 (const gchar*, num_members + 6);
|
||||
|
||||
diff --git a/tests/mdraid_test.py b/tests/mdraid_test.py
|
||||
index 0b2bdc9..9c6cd17 100644
|
||||
--- a/tests/mdraid_test.py
|
||||
+++ b/tests/mdraid_test.py
|
||||
@@ -245,6 +245,11 @@ class MDTestActivateDeactivate(MDTestCase):
|
||||
[self.loop_dev, self.loop_dev2, self.loop_dev3], None)
|
||||
self.assertTrue(succ)
|
||||
|
||||
+ # try to activate again, should not fail, just no-op
|
||||
+ succ = BlockDev.md_activate("bd_test_md",
|
||||
+ [self.loop_dev, self.loop_dev2, self.loop_dev3], None)
|
||||
+ self.assertTrue(succ)
|
||||
+
|
||||
# try to deactivate using the node instead of name
|
||||
with wait_for_action("resync"):
|
||||
succ = BlockDev.md_deactivate(BlockDev.md_node_from_name("bd_test_md"))
|
||||
--
|
||||
1.8.3.1
|
||||
|
||||
@ -6,14 +6,12 @@ License: LGPLv2+
|
||||
URL: https://github.com/storaged-project/libblockdev
|
||||
Source0: https://github.com/storaged-project/libblockdev/releases/download/%{version}-1/%{name}-%{version}.tar.gz
|
||||
|
||||
Patch1: 0001-dm-Do-not-try-to-activate-already-active-DMRAID-sets.patch
|
||||
Patch2: 0002-mdraid-Do-not-try-to-activate-already-active-MDRAID-.patch
|
||||
Patch3: 0003-lvm-Add-missing-attribute-to-bd_lvm_pvdata_copy-in-L.patch
|
||||
Patch4: 0004-module.c-Fix-error-message-when-loading-module-witho.patch
|
||||
Patch5: 0005-exec-Fix-setting-locale-for-util-calls.patch
|
||||
Patch6: 0006-lvm-Fix-checking-for-LVM-VDO-dependencies.patch
|
||||
Patch7: 0007-lvm-dbus-Fix-memory-leak-in-bd_lvm_cache_attach.patch
|
||||
Patch8: 0008-lvm-Fix-memory-leak-bd_lvm_cache_create_cached_lv.patch
|
||||
Patch1: 0001-lvm-Add-missing-attribute-to-bd_lvm_pvdata_copy-in-L.patch
|
||||
Patch2: 0002-module.c-Fix-error-message-when-loading-module-witho.patch
|
||||
Patch3: 0003-exec-Fix-setting-locale-for-util-calls.patch
|
||||
Patch4: 0004-lvm-Fix-checking-for-LVM-VDO-dependencies.patch
|
||||
Patch5: 0005-lvm-dbus-Fix-memory-leak-in-bd_lvm_cache_attach.patch
|
||||
Patch6: 0006-lvm-Fix-memory-leak-bd_lvm_cache_create_cached_lv.patch
|
||||
|
||||
BuildRequires: git glib2-devel libyaml-devel libbytesize-devel parted-devel libuuid-devel ndctl-devel device-mapper-devel
|
||||
BuildRequires: device-mapper-devel dmraid-devel systemd-devel nss-devel volume_key-devel >= 0.3.9-7 libblkid-devel libmount-devel
|
||||
@ -24,37 +22,37 @@ Requires: device-mapper-persistent-data lvm2-dbusd >= 2.02.156 ndctl gdisk
|
||||
Recommends: vdo kmod-kvdo
|
||||
|
||||
Provides: %{name}-utils%{?_isa} %{name}-utils
|
||||
Obsoletes: %{name}-utils
|
||||
Obsoletes: %{name}-utils < %{version}
|
||||
Provides: %{name}-btrfs%{?_isa} %{name}-btrfs
|
||||
Obsoletes: %{name}-btrfs
|
||||
Obsoletes: %{name}-btrfs < %{version}
|
||||
Provides: %{name}-crypto%{?_isa} %{name}-crypto
|
||||
Obsoletes: %{name}-crypto
|
||||
Obsoletes: %{name}-crypto < %{version}
|
||||
Provides: %{name}-dm%{?_isa} %{name}-dm
|
||||
Obsoletes: %{name}-dm
|
||||
Obsoletes: %{name}-dm < %{version}
|
||||
Provides: %{name}-fs%{?_isa} %{name}-fs
|
||||
Obsoletes: %{name}-fs
|
||||
Obsoletes: %{name}-fs < %{version}
|
||||
Provides: %{name}-kbd%{?_isa} %{name}-kbd
|
||||
Obsoletes: %{name}-kbd
|
||||
Obsoletes: %{name}-kbd < %{version}
|
||||
Provides: %{name}-vdo%{?_isa} %{name}-vdo
|
||||
Obsoletes: %{name}-vdo
|
||||
Obsoletes: %{name}-vdo < %{version}
|
||||
Provides: %{name}-loop%{?_isa} %{name}-loop
|
||||
Obsoletes: %{name}-loop
|
||||
Obsoletes: %{name}-loop < %{version}
|
||||
Provides: %{name}-lvm%{?_isa} %{name}-lvm
|
||||
Obsoletes: %{name}-lvm
|
||||
Obsoletes: %{name}-lvm < %{version}
|
||||
Provides: %{name}-lvm-dbus%{?_isa} %{name}-lvm-dbus
|
||||
Obsoletes: %{name}-lvm-dbus
|
||||
Obsoletes: %{name}-lvm-dbus < %{version}
|
||||
Provides: %{name}-mdraid%{?_isa} %{name}-mdraid
|
||||
Obsoletes: %{name}-mdraid
|
||||
Obsoletes: %{name}-mdraid < %{version}
|
||||
Provides: %{name}-mpath%{?_isa} %{name}-mpath
|
||||
Obsoletes: %{name}-mpath
|
||||
Obsoletes: %{name}-mpath < %{version}
|
||||
Provides: %{name}-nvdimm%{?_isa} %{name}-nvdimm
|
||||
Obsoletes: %{name}-nvdimm
|
||||
Obsoletes: %{name}-nvdimm < %{version}
|
||||
Provides: %{name}-part%{?_isa} %{name}-part
|
||||
Obsoletes: %{name}-part
|
||||
Obsoletes: %{name}-part < %{version}
|
||||
Provides: %{name}-swap%{?_isa} %{name}-swap
|
||||
Obsoletes: %{name}-swap
|
||||
Obsoletes: %{name}-swap < %{version}
|
||||
Provides: %{name}-plugins-all%{?_isa} %{name}-plugins-all
|
||||
Obsoletes: %{name}-plugins-all
|
||||
Obsoletes: %{name}-plugins-all < %{version}
|
||||
|
||||
%description
|
||||
libblockdev is a C library supporting GObject introspection for manipulation of block devices.
|
||||
@ -67,35 +65,35 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: glib2-devel device-mapper-devel xfsprogs dosfstools dmraid-devel systemd-devel
|
||||
|
||||
Provides: %{name}-btrfs-devel%{?_isa} %{name}-btrfs-devel
|
||||
Obsoletes: %{name}-btrfs-devel
|
||||
Obsoletes: %{name}-btrfs-devel < %{version}
|
||||
Provides: %{name}-crypto-devel%{?_isa} %{name}-crypto-devel
|
||||
Obsoletes: %{name}-crypto-devel
|
||||
Obsoletes: %{name}-crypto-devel < %{version}
|
||||
Provides: %{name}-dm-devel%{?_isa} %{name}-dm-devel
|
||||
Obsoletes: %{name}-dm-devel
|
||||
Obsoletes: %{name}-dm-devel < %{version}
|
||||
Provides: %{name}-fs-devel%{?_isa} %{name}-fs-devel
|
||||
Obsoletes: %{name}-fs-devel
|
||||
Obsoletes: %{name}-fs-devel < %{version}
|
||||
Provides: %{name}-kbd-devel%{?_isa} %{name}-kbd-devel
|
||||
Obsoletes: %{name}-kbd-devel
|
||||
Obsoletes: %{name}-kbd-devel < %{version}
|
||||
Provides: %{name}-loop-devel%{?_isa} %{name}-loop-devel
|
||||
Obsoletes: %{name}-loop-devel
|
||||
Obsoletes: %{name}-loop-devel < %{version}
|
||||
Provides: %{name}-lvm-devel%{?_isa} %{name}-lvm-devel
|
||||
Obsoletes: %{name}-lvm-devel
|
||||
Obsoletes: %{name}-lvm-devel < %{version}
|
||||
Provides: %{name}-lvm-dbus-devel%{?_isa} %{name}-lvm-dbus-devel
|
||||
Obsoletes: %{name}-lvm-dbus-devel
|
||||
Obsoletes: %{name}-lvm-dbus-devel < %{version}
|
||||
Provides: %{name}-mdraid-devel%{?_isa} %{name}-mdraid-devel
|
||||
Obsoletes: %{name}-mdraid-devel
|
||||
Obsoletes: %{name}-mdraid-devel < %{version}
|
||||
Provides: %{name}-mpath-devel%{?_isa} %{name}-mpath-devel
|
||||
Obsoletes: %{name}-mpath-devel
|
||||
Obsoletes: %{name}-mpath-devel < %{version}
|
||||
Provides: %{name}-nvdimm-devel%{?_isa} %{name}-nvdimm-devel
|
||||
Obsoletes: %{name}-nvdimm-devel
|
||||
Obsoletes: %{name}-nvdimm-devel < %{version}
|
||||
Provides: %{name}-part-devel%{?_isa} %{name}-part-devel
|
||||
Obsoletes: %{name}-part-devel
|
||||
Obsoletes: %{name}-part-devel < %{version}
|
||||
Provides: %{name}-swap-devel%{?_isa} %{name}-swap-devel
|
||||
Obsoletes: %{name}-swap-devel
|
||||
Obsoletes: %{name}-swap-devel < %{version}
|
||||
Provides: %{name}-vdo-devel%{?_isa} %{name}-vdo-devel
|
||||
Obsoletes: %{name}-vdo-devel
|
||||
Obsoletes: %{name}-vdo-devel < %{version}
|
||||
Provides: %{name}-utils-devel%{?_isa} %{name}-utils-devel
|
||||
Obsoletes: %{name}-utils-devel
|
||||
Obsoletes: %{name}-utils-devel < %{version}
|
||||
|
||||
%description devel
|
||||
Libraries and header files for a set for utils(libblockdev,libblockdev-btrfs,libblockdev-crypto,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user