Browse Source

lvm2 package update

Signed-off-by: basebuilder_pel7x64builder0 <basebuilder@powerel.org>
master
basebuilder_pel7x64builder0 5 years ago
parent
commit
83d0797f3a
  1. 71
      SOURCES/lvm2-2_02_186-cache-support-no_discard_passdown.patch
  2. 156
      SOURCES/lvm2-2_02_186-lvmlockd-do-not-allow-mirror-LV-to-be-activated-shar.patch
  3. 117
      SOURCES/lvm2-2_02_186-man-updates-to-lvmlockd.patch
  4. 22
      SOURCES/lvm2-2_02_186-mirror-fix-monitoring-change.patch
  5. 6
      SOURCES/lvm2-default-allow-changes-with-duplicate-pvs.patch
  6. 6
      SOURCES/lvm2-drop-unavailable-libblkid-2_24-BLKID_SUBLKS_BADCSUM-for-signature-detection.patch
  7. 239
      SOURCES/lvm2-make-generate.patch
  8. 112
      SOURCES/lvm2-rhel7-add-lvm1-and-pool-back.patch
  9. 12
      SOURCES/lvm2-rhel7.patch
  10. 4
      SOURCES/lvm2-set-default-preferred_names.patch
  11. 116
      SPECS/lvm2.spec

71
SOURCES/lvm2-2_02_186-cache-support-no_discard_passdown.patch

@ -0,0 +1,71 @@ @@ -0,0 +1,71 @@
WHATS_NEW | 1 +
WHATS_NEW_DM | 4 ++++
lib/metadata/lv.c | 5 +++++
libdm/libdevmapper.h | 1 +
libdm/libdm-targets.c | 2 ++
5 files changed, 13 insertions(+)

diff --git a/WHATS_NEW b/WHATS_NEW
index 106661f..d3da403 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.02.186 -
================================
+ Report no_discard_passdown for cache LVs with lvs -o+kernel_discards.
Prevent shared active mirror LVs with lvmlockd.
Version 2.02.185 - 13th May 2019
diff --git a/WHATS_NEW_DM b/WHATS_NEW_DM
index 7c74bfe..8c78724 100644
--- a/WHATS_NEW_DM
+++ b/WHATS_NEW_DM
@@ -1,3 +1,7 @@
+Version 1.02.160 -
+================================
+ Parsing of cache status understand no_discard_passdown.
+
Version 1.02.158 - 13th May 2019
================================
diff --git a/lib/metadata/lv.c b/lib/metadata/lv.c
index 2abe42d..538b292 100644
--- a/lib/metadata/lv.c
+++ b/lib/metadata/lv.c
@@ -245,6 +245,11 @@ char *lvseg_kernel_discards_dup_with_info_and_seg_status(struct dm_pool *mem, co
return 0;
}
s = get_pool_discards_name(d);
+ } else if (lvdm->seg_status.type == SEG_STATUS_CACHE) {
+ if (lvdm->seg_status.cache->feature_flags &
+ DM_CACHE_FEATURE_NO_DISCARD_PASSDOWN) {
+ s = "nopassdown";
+ }
}
if (!(ret = dm_pool_strdup(mem, s))) {
diff --git a/libdm/libdevmapper.h b/libdm/libdevmapper.h
index 19032d7..e885f52 100644
--- a/libdm/libdevmapper.h
+++ b/libdm/libdevmapper.h
@@ -1893,6 +1893,7 @@ int dm_tree_node_add_raid_target_with_params_v2(struct dm_tree_node *node,
#define DM_CACHE_FEATURE_WRITETHROUGH 0x00000002
#define DM_CACHE_FEATURE_PASSTHROUGH 0x00000004
#define DM_CACHE_FEATURE_METADATA2 0x00000008 /* cache v1.10 */
+#define DM_CACHE_FEATURE_NO_DISCARD_PASSDOWN 0x00000010
struct dm_config_node;
/*
diff --git a/libdm/libdm-targets.c b/libdm/libdm-targets.c
index 8766789..d0a8b43 100644
--- a/libdm/libdm-targets.c
+++ b/libdm/libdm-targets.c
@@ -296,6 +296,8 @@ int dm_get_status_cache(struct dm_pool *mem, const char *params,
s->feature_flags |= DM_CACHE_FEATURE_PASSTHROUGH;
else if (!strncmp(p, "metadata2 ", 10))
s->feature_flags |= DM_CACHE_FEATURE_METADATA2;
+ else if (!strncmp(p, "no_discard_passdown ", 20))
+ s->feature_flags |= DM_CACHE_FEATURE_NO_DISCARD_PASSDOWN;
else
log_error("Unknown feature in status: %s", params);

156
SOURCES/lvm2-2_02_186-lvmlockd-do-not-allow-mirror-LV-to-be-activated-shar.patch

@ -0,0 +1,156 @@ @@ -0,0 +1,156 @@
WHATS_NEW | 4 ++++
lib/commands/toolcontext.h | 1 -
lib/locking/lvmlockd.c | 38 +-------------------------------------
lib/metadata/mirror.c | 12 ------------
lib/mirror/mirrored.c | 9 ---------
man/lvmlockd.8_main | 2 +-
6 files changed, 6 insertions(+), 60 deletions(-)

diff --git a/WHATS_NEW b/WHATS_NEW
index 4e75c6a..106661f 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,3 +1,7 @@
+Version 2.02.186 -
+================================
+ Prevent shared active mirror LVs with lvmlockd.
+
Version 2.02.185 - 13th May 2019
================================
Fix change of monitoring in clustered volumes.
diff --git a/lib/commands/toolcontext.h b/lib/commands/toolcontext.h
index da5d582..485dca9 100644
--- a/lib/commands/toolcontext.h
+++ b/lib/commands/toolcontext.h
@@ -163,7 +163,6 @@ struct cmd_context {
unsigned lockd_vg_rescan:1;
unsigned lockd_vg_default_sh:1;
unsigned lockd_vg_enforce_sh:1;
- unsigned lockd_lv_sh:1;
unsigned vg_notify:1;
unsigned lv_notify:1;
unsigned pv_notify:1;
diff --git a/lib/locking/lvmlockd.c b/lib/locking/lvmlockd.c
index 788b62b..1160126 100644
--- a/lib/locking/lvmlockd.c
+++ b/lib/locking/lvmlockd.c
@@ -2076,15 +2076,6 @@ int lockd_lv_name(struct cmd_context *cmd, struct volume_group *vg,
return 0;
}
- /*
- * This is a hack for mirror LVs which need to know at a very low level
- * which lock mode the LV is being activated with so that it can pick
- * a mirror log type during activation. Do not use this for anything
- * else.
- */
- if (mode && !strcmp(mode, "sh"))
- cmd->lockd_lv_sh = 1;
-
if (!mode)
mode = "ex";
@@ -2209,31 +2200,6 @@ static int _lockd_lv_thin(struct cmd_context *cmd, struct logical_volume *lv,
}
/*
- * Only the combination of dlm + corosync + cmirrord allows
- * mirror LVs to be activated in shared mode on multiple nodes.
- */
-static int _lockd_lv_mirror(struct cmd_context *cmd, struct logical_volume *lv,
- const char *def_mode, uint32_t flags)
-{
- if (!strcmp(lv->vg->lock_type, "sanlock"))
- flags |= LDLV_MODE_NO_SH;
-
- else if (!strcmp(lv->vg->lock_type, "dlm") && def_mode && !strcmp(def_mode, "sh")) {
-#ifdef CMIRRORD_PIDFILE
- if (!cmirrord_is_running()) {
- log_error("cmirrord must be running to activate an LV in shared mode.");
- return 0;
- }
-#else
- flags |= LDLV_MODE_NO_SH;
-#endif
- }
-
- return lockd_lv_name(cmd, lv->vg, lv->name, &lv->lvid.id[1],
- lv->lock_args, def_mode, flags);
-}
-
-/*
* If the VG has no lock_type, then this function can return immediately.
* The LV itself may have no lock (NULL lv->lock_args), but the lock request
* may be directed to another lock, e.g. the pool LV lock in _lockd_lv_thin.
@@ -2286,14 +2252,12 @@ int lockd_lv(struct cmd_context *cmd, struct logical_volume *lv,
*/
if (lv_is_external_origin(lv) ||
lv_is_thin_type(lv) ||
+ lv_is_mirror_type(lv) ||
lv_is_raid_type(lv) ||
lv_is_cache_type(lv)) {
flags |= LDLV_MODE_NO_SH;
}
- if (lv_is_mirror_type(lv))
- return _lockd_lv_mirror(cmd, lv, def_mode, flags);
-
return lockd_lv_name(cmd, lv->vg, lv->name, &lv->lvid.id[1],
lv->lock_args, def_mode, flags);
}
diff --git a/lib/metadata/mirror.c b/lib/metadata/mirror.c
index b1dcaa0..cd8ce1e 100644
--- a/lib/metadata/mirror.c
+++ b/lib/metadata/mirror.c
@@ -2104,18 +2104,6 @@ int lv_add_mirrors(struct cmd_context *cmd, struct logical_volume *lv,
}
}
- if (lv->vg->lock_type && !strcmp(lv->vg->lock_type, "dlm") && cmd->lockd_lv_sh) {
- if (!cluster_mirror_is_available(cmd)) {
- log_error("Shared cluster mirrors are not available.");
- return 0;
- }
-
- if (log_count > 1) {
- log_error("Log type, \"mirrored\", is unavailable to cluster mirrors.");
- return 0;
- }
- }
-
/* For corelog mirror, activation code depends on
* the global mirror_in_sync status. As we are adding
* a new mirror, it should be set as 'out-of-sync'
diff --git a/lib/mirror/mirrored.c b/lib/mirror/mirrored.c
index 7c5c0a6..606bcf0 100644
--- a/lib/mirror/mirrored.c
+++ b/lib/mirror/mirrored.c
@@ -285,15 +285,6 @@ static int _add_log(struct dm_pool *mem, struct lv_segment *seg,
if (!laopts->exclusive && vg_is_clustered(seg->lv->vg))
clustered = 1;
- else if (seg->lv->vg->lock_type && !strcmp(seg->lv->vg->lock_type, "dlm")) {
- /*
- * If shared lock was used due to -asy, then we set clustered
- * to use a clustered mirror log with cmirrod.
- */
- if (seg->lv->vg->cmd->lockd_lv_sh)
- clustered = 1;
- }
-
if (seg->log_lv) {
/* If disk log, use its UUID */
if (!(log_dlid = build_dm_uuid(mem, seg->log_lv, NULL))) {
diff --git a/man/lvmlockd.8_main b/man/lvmlockd.8_main
index cfb45b2..3f0e3ed 100644
--- a/man/lvmlockd.8_main
+++ b/man/lvmlockd.8_main
@@ -545,7 +545,7 @@ report an error and fail.
The shared mode is intended for a multi-host/cluster application or
file system.
LV types that cannot be used concurrently
-from multiple hosts include thin, cache, raid, and snapshot.
+from multiple hosts include thin, cache, raid, mirror, and snapshot.
.IP \fBn\fP
The command deactivates the LV. After deactivating the LV, the command

117
SOURCES/lvm2-2_02_186-man-updates-to-lvmlockd.patch

@ -0,0 +1,117 @@ @@ -0,0 +1,117 @@
man/lvmlockd.8_main | 61 +++++++++++++----------------------------------------
1 file changed, 15 insertions(+), 46 deletions(-)

diff --git a/man/lvmlockd.8_main b/man/lvmlockd.8_main
index 3f0e3ed..b917d93 100644
--- a/man/lvmlockd.8_main
+++ b/man/lvmlockd.8_main
@@ -76,9 +76,6 @@ For default settings, see lvmlockd -h.
.I seconds
Override the default sanlock I/O timeout.
-.B --adopt | -A 0|1
- Adopt locks from a previous instance of lvmlockd.
-
.SH USAGE
@@ -261,6 +258,16 @@ does for foreign VGs.
.SS creating the first sanlock VG
+When use_lvmlockd is first enabled in lvm.conf, and before the first
+sanlock VG is created, no global lock will exist. In this initial state,
+LVM commands try and fail to acquire the global lock, producing a warning,
+and some commands are disallowed. Once the first sanlock VG is created,
+the global lock will be available, and LVM will be fully operational.
+
+When a new sanlock VG is created, its lockspace is automatically started on
+the host that creates it. Other hosts need to run 'vgchange --lock-start'
+to start the new VG before they can use it.
+
Creating the first sanlock VG is not protected by locking, so it requires
special attention. This is because sanlock locks exist on storage within
the VG, so they are not available until after the VG is created. The
@@ -288,19 +295,7 @@ See below for more information about managing the sanlock global lock.
.SS using shared VGs
-There are some special considerations when using shared VGs.
-
-When use_lvmlockd is first enabled in lvm.conf, and before the first
-shared VG is created, no global lock will exist. In this initial state,
-LVM commands try and fail to acquire the global lock, producing a warning,
-and some commands are disallowed. Once the first shared VG is created,
-the global lock will be available, and LVM will be fully operational.
-
-When a new shared VG is created, its lockspace is automatically started on
-the host that creates it. Other hosts need to run 'vgchange --lock-start'
-to start the new VG before they can use it.
-
-From the 'vgs' command, shared VGs are indicated by "s" (for shared) in
+In the 'vgs' command, shared VGs are indicated by "s" (for shared) in
the sixth attr field, and by "shared" in the "--options shared" report
field. The specific lock type and lock args for a shared VG can be
displayed with 'vgs -o+locktype,lockargs'.
@@ -379,31 +374,6 @@ activation {
.fi
-.SS automatic starting and automatic activation
-
-When system-level scripts/programs automatically start VGs, they should
-use the "auto" option. This option indicates that the command is being
-run automatically by the system:
-
-vgchange --lock-start --lock-opt auto [<vgname> ...]
-
-The "auto" option causes the command to follow the lvm.conf
-activation/auto_lock_start_list. If auto_lock_start_list is undefined,
-all VGs are started, just as if the auto option was not used.
-
-When auto_lock_start_list is defined, it lists the shared VGs that should
-be started by the auto command. VG names that do not match an item in the
-list will be ignored by the auto start command.
-
-(The lock_start_list is also still used to filter VG names from all start
-commands, i.e. with or without the auto option. When the lock_start_list
-is defined, only VGs matching a list item can be started with vgchange.)
-
-The auto_lock_start_list allows a user to select certain shared VGs that
-should be automatically started by the system (or indirectly, those that
-should not).
-
-
.SS internal command locking
To optimize the use of LVM with lvmlockd, be aware of the three kinds of
@@ -411,8 +381,8 @@ locks and when they are used:
.I Global lock
-The global lock s associated with global information, which is information
-not isolated to a single VG. This includes:
+The global lock is associated with global information, which is
+information not isolated to a single VG. This includes:
\[bu]
The global VG namespace.
@@ -456,7 +426,7 @@ held only while an LVM command is running.)
.I lock retries
-If a request for a Global or VG lock fails due to a lock conflict with
+If a request for a global or VG lock fails due to a lock conflict with
another host, lvmlockd automatically retries for a short time before
returning a failure to the LVM command. If those retries are
insufficient, the LVM command will retry the entire lock request a number
@@ -579,8 +549,7 @@ necessary locks.
.B lvmlockd failure
If lvmlockd fails or is killed while holding locks, the locks are orphaned
-in the lock manager. lvmlockd can be restarted with an option to adopt
-locks in the lock manager that had been held by the previous instance.
+in the lock manager.
.B dlm/corosync failure

22
SOURCES/lvm2-2_02_186-mirror-fix-monitoring-change.patch

@ -0,0 +1,22 @@ @@ -0,0 +1,22 @@
lib/activate/activate.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/activate/activate.c b/lib/activate/activate.c
index 6823e25..b4e3a65 100644
--- a/lib/activate/activate.c
+++ b/lib/activate/activate.c
@@ -2061,12 +2061,12 @@ int monitor_dev_for_events(struct cmd_context *cmd, const struct logical_volume
} else
continue;
- if (!locking_is_clustered() && !vg_write_lock_held() && lv_is_mirror(lv)) {
+ if (!cmd->is_clvmd && !vg_write_lock_held() && lv_is_mirror(lv)) {
/*
* Commands vgchange and lvchange do use read-only lock when changing
* monitoring (--monitor y|n). All other use cases hold 'write-lock'
* so they skip this dm mirror table refreshing step.
- * Shortcut can't be applied with clustered locking.
+ * Shortcut is also not applied with clvmd.
*/
if (!_lv_activate_lv(lv, &mirr_laopts)) {
stack;

6
SOURCES/lvm2-default-allow-changes-with-duplicate-pvs.patch

@ -3,10 +3,10 @@ @@ -3,10 +3,10 @@
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/conf/example.conf.in b/conf/example.conf.in
index 4894d04..48afbd1 100644
index 7ccf928..4418f56 100644
--- a/conf/example.conf.in
+++ b/conf/example.conf.in
@@ -311,7 +311,7 @@ devices {
@@ -325,7 +325,7 @@ devices {
# or activating LVs in it while a PV appears on multiple devices.
# Enabling this setting allows the VG to be used as usual even with
# uncertain devices.
@ -16,7 +16,7 @@ index 4894d04..48afbd1 100644 @@ -16,7 +16,7 @@ index 4894d04..48afbd1 100644
# Configuration section allocation.
diff --git a/lib/config/defaults.h b/lib/config/defaults.h
index d9e19d9..894b979 100644
index 6d3c37c..0d55928 100644
--- a/lib/config/defaults.h
+++ b/lib/config/defaults.h
@@ -45,7 +45,7 @@

6
SOURCES/lvm2-drop-unavailable-libblkid-2_24-BLKID_SUBLKS_BADCSUM-for-signature-detection.patch

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
3 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/configure b/configure
index 7d945df..ef24b31 100755
index 4d2fb2f..f357462 100755
--- a/configure
+++ b/configure
@@ -12111,12 +12111,12 @@ if test -n "$BLKID_CFLAGS"; then
@ -70,7 +70,7 @@ index 7d945df..ef24b31 100755 @@ -70,7 +70,7 @@ index 7d945df..ef24b31 100755
else
BLKID_CFLAGS=$pkg_cv_BLKID_CFLAGS
diff --git a/configure.ac b/configure.ac
index e427708..935ea08 100644
index 379d37f..e6bb905 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1235,7 +1235,7 @@ AC_ARG_ENABLE(blkid_wiping,
@ -92,7 +92,7 @@ index e427708..935ea08 100644 @@ -92,7 +92,7 @@ index e427708..935ea08 100644
fi
AC_MSG_CHECKING([whether to enable libblkid detection of signatures when wiping])
diff --git a/lib/device/dev-type.c b/lib/device/dev-type.c
index af4b407..eda7982 100644
index ce4a05b..9bdee32 100644
--- a/lib/device/dev-type.c
+++ b/lib/device/dev-type.c
@@ -712,8 +712,7 @@ static int _wipe_known_signatures_with_blkid(struct device *dev, const char *nam

239
SOURCES/lvm2-make-generate.patch

@ -0,0 +1,239 @@ @@ -0,0 +1,239 @@
conf/example.conf.in | 20 ++++++++++++++++----
man/pvcreate.8_pregen | 7 ++++---
man/vgcfgrestore.8_pregen | 9 +++++----
man/vgconvert.8_pregen | 14 +++++++++-----
man/vgcreate.8_pregen | 7 ++++---
man/vgextend.8_pregen | 7 ++++---
man/vgsplit.8_pregen | 7 ++++---
7 files changed, 46 insertions(+), 25 deletions(-)

diff --git a/conf/example.conf.in b/conf/example.conf.in
index 4418f56..6f7b161 100644
--- a/conf/example.conf.in
+++ b/conf/example.conf.in
@@ -716,17 +716,29 @@ global {
activation = 1
# Configuration option global/fallback_to_lvm1.
- # This setting is no longer used.
+ # Try running LVM1 tools if LVM cannot communicate with DM.
+ # This option only applies to 2.4 kernels and is provided to help
+ # switch between device-mapper kernels and LVM1 kernels. The LVM1
+ # tools need to be installed with .lvm1 suffices, e.g. vgscan.lvm1.
+ # They will stop working once the lvm2 on-disk metadata format is used.
# This configuration option has an automatic default value.
- # fallback_to_lvm1 = 0
+ # fallback_to_lvm1 = @DEFAULT_FALLBACK_TO_LVM1@
# Configuration option global/format.
- # This setting is no longer used.
+ # The default metadata format that commands should use.
+ # The -M 1|2 option overrides this setting.
+ #
+ # Accepted values:
+ # lvm1
+ # lvm2
+ #
# This configuration option has an automatic default value.
# format = "lvm2"
# Configuration option global/format_libraries.
- # This setting is no longer used.
+ # Shared libraries that process different metadata formats.
+ # If support for LVM1 metadata was compiled as a shared library use
+ # format_libraries = "liblvm2format1.so"
# This configuration option does not have a default value defined.
# Configuration option global/segment_libraries.
diff --git a/man/pvcreate.8_pregen b/man/pvcreate.8_pregen
index c4b03da..abceb82 100644
--- a/man/pvcreate.8_pregen
+++ b/man/pvcreate.8_pregen
@@ -38,7 +38,7 @@ normally prevent it, e.g. if the PV is already in a VG.
.ad b
.br
.ad l
-[ \fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP ]
+[ \fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP|\fBlvm1\fP ]
.ad b
.br
.ad l
@@ -266,11 +266,12 @@ The size may be rounded.
.ad b
.HP
.ad l
-\fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP
+\fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP|\fBlvm1\fP
.br
Specifies the type of on-disk metadata to use.
\fBlvm2\fP (or just \fB2\fP) is the current, standard format.
-\fBlvm1\fP (or just \fB1\fP) is no longer used.
+\fBlvm1\fP (or just \fB1\fP) is a historical format that
+can be used for accessing old data.
.ad b
.HP
.ad l
diff --git a/man/vgcfgrestore.8_pregen b/man/vgcfgrestore.8_pregen
index cffd44b..e028103 100644
--- a/man/vgcfgrestore.8_pregen
+++ b/man/vgcfgrestore.8_pregen
@@ -51,7 +51,7 @@ vgcfgrestore - Restore volume group configuration
.ad b
.br
.ad l
- \fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP
+ \fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP|\fBlvm1\fP
.ad b
.br
.ad l
@@ -141,7 +141,7 @@ Common options for command:
.
.RS 4
.ad l
-[ \fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP ]
+[ \fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP|\fBlvm1\fP ]
.ad b
.br
.ad l
@@ -280,11 +280,12 @@ Display long help text.
.ad b
.HP
.ad l
-\fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP
+\fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP|\fBlvm1\fP
.br
Specifies the type of on-disk metadata to use.
\fBlvm2\fP (or just \fB2\fP) is the current, standard format.
-\fBlvm1\fP (or just \fB1\fP) is no longer used.
+\fBlvm1\fP (or just \fB1\fP) is a historical format that
+can be used for accessing old data.
.ad b
.HP
.ad l
diff --git a/man/vgconvert.8_pregen b/man/vgconvert.8_pregen
index 5e7f8a9..6228087 100644
--- a/man/vgconvert.8_pregen
+++ b/man/vgconvert.8_pregen
@@ -8,9 +8,12 @@ vgconvert - Change volume group metadata format
[ \fIoption_args\fP ]
.br
.SH DESCRIPTION
-vgconvert converts VG metadata from one format to another. This command
-is no longer used because this version of lvm no longer supports the LVM1
+vgconvert converts VG metadata from one format to another. The new
+metadata format must be able to fit into the space provided by the old
format.
+
+Because the LVM1 format should no longer be used, this command is no
+longer needed in general.
.SH USAGE
\fBvgconvert\fP \fIVG\fP ...
.br
@@ -20,7 +23,7 @@ format.
.ad b
.br
.ad l
-[ \fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP ]
+[ \fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP|\fBlvm1\fP ]
.ad b
.br
.ad l
@@ -191,11 +194,12 @@ The size may be rounded.
.ad b
.HP
.ad l
-\fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP
+\fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP|\fBlvm1\fP
.br
Specifies the type of on-disk metadata to use.
\fBlvm2\fP (or just \fB2\fP) is the current, standard format.
-\fBlvm1\fP (or just \fB1\fP) is no longer used.
+\fBlvm1\fP (or just \fB1\fP) is a historical format that
+can be used for accessing old data.
.ad b
.HP
.ad l
diff --git a/man/vgcreate.8_pregen b/man/vgcreate.8_pregen
index 09bf126..ddad391 100644
--- a/man/vgcreate.8_pregen
+++ b/man/vgcreate.8_pregen
@@ -33,7 +33,7 @@ devices are also available with vgcreate.
.ad b
.br
.ad l
-[ \fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP ]
+[ \fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP|\fBlvm1\fP ]
.ad b
.br
.ad l
@@ -324,11 +324,12 @@ The size may be rounded.
.ad b
.HP
.ad l
-\fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP
+\fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP|\fBlvm1\fP
.br
Specifies the type of on-disk metadata to use.
\fBlvm2\fP (or just \fB2\fP) is the current, standard format.
-\fBlvm1\fP (or just \fB1\fP) is no longer used.
+\fBlvm1\fP (or just \fB1\fP) is a historical format that
+can be used for accessing old data.
.ad b
.HP
.ad l
diff --git a/man/vgextend.8_pregen b/man/vgextend.8_pregen
index a6a30e9..ee805a8 100644
--- a/man/vgextend.8_pregen
+++ b/man/vgextend.8_pregen
@@ -36,7 +36,7 @@ will initialize them. In this case pvcreate options can be used, e.g.
.ad b
.br
.ad l
-[ \fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP ]
+[ \fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP|\fBlvm1\fP ]
.ad b
.br
.ad l
@@ -237,11 +237,12 @@ The size may be rounded.
.ad b
.HP
.ad l
-\fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP
+\fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP|\fBlvm1\fP
.br
Specifies the type of on-disk metadata to use.
\fBlvm2\fP (or just \fB2\fP) is the current, standard format.
-\fBlvm1\fP (or just \fB1\fP) is no longer used.
+\fBlvm1\fP (or just \fB1\fP) is a historical format that
+can be used for accessing old data.
.ad b
.HP
.ad l
diff --git a/man/vgsplit.8_pregen b/man/vgsplit.8_pregen
index 6c3e6ec..210c266 100644
--- a/man/vgsplit.8_pregen
+++ b/man/vgsplit.8_pregen
@@ -62,7 +62,7 @@ Common options for command:
.ad b
.br
.ad l
-[ \fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP ]
+[ \fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP|\fBlvm1\fP ]
.ad b
.br
.ad l
@@ -230,11 +230,12 @@ and --vgmetadatacopies for improving performance.
.ad b
.HP
.ad l
-\fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP
+\fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP|\fBlvm1\fP
.br
Specifies the type of on-disk metadata to use.
\fBlvm2\fP (or just \fB2\fP) is the current, standard format.
-\fBlvm1\fP (or just \fB1\fP) is no longer used.
+\fBlvm1\fP (or just \fB1\fP) is a historical format that
+can be used for accessing old data.
.ad b
.HP
.ad l

112
SOURCES/lvm2-rhel7-add-lvm1-and-pool-back.patch

@ -91,7 +91,7 @@ @@ -91,7 +91,7 @@
create mode 100644 test/shell/snapshot-lvm1.sh

diff --git a/configure b/configure
index ef24b31..10b49c6 100755
index f357462..2585e58 100755
--- a/configure
+++ b/configure
@@ -675,6 +675,7 @@ PYTHON_BINDINGS
@ -237,12 +237,12 @@ index ef24b31..10b49c6 100755 @@ -237,12 +237,12 @@ index ef24b31..10b49c6 100755
+
+
################################################################################
-ac_config_files="$ac_config_files Makefile make.tmpl daemons/Makefile daemons/clvmd/Makefile daemons/cmirrord/Makefile daemons/dmeventd/Makefile daemons/dmeventd/libdevmapper-event.pc daemons/dmeventd/plugins/Makefile daemons/dmeventd/plugins/lvm2/Makefile daemons/dmeventd/plugins/raid/Makefile daemons/dmeventd/plugins/mirror/Makefile daemons/dmeventd/plugins/snapshot/Makefile daemons/dmeventd/plugins/thin/Makefile daemons/dmfilemapd/Makefile daemons/lvmdbusd/Makefile daemons/lvmdbusd/lvmdbusd daemons/lvmdbusd/lvmdb.py daemons/lvmdbusd/lvm_shell_proxy.py daemons/lvmdbusd/path.py daemons/lvmetad/Makefile daemons/lvmpolld/Makefile daemons/lvmlockd/Makefile device_mapper/Makefile conf/Makefile conf/example.conf conf/lvmlocal.conf conf/command_profile_template.profile conf/metadata_profile_template.profile include/.symlinks include/Makefile lib/Makefile lib/locking/Makefile include/lvm-version.h libdaemon/Makefile libdaemon/client/Makefile libdaemon/server/Makefile libdm/Makefile libdm/libdevmapper.pc liblvm/Makefile liblvm/liblvm2app.pc man/Makefile po/Makefile python/Makefile python/setup.py scripts/blkdeactivate.sh scripts/blk_availability_init_red_hat scripts/blk_availability_systemd_red_hat.service scripts/clvmd_init_red_hat scripts/cmirrord_init_red_hat scripts/com.redhat.lvmdbus1.service scripts/dm_event_systemd_red_hat.service scripts/dm_event_systemd_red_hat.socket scripts/lvm2_cluster_activation_red_hat.sh scripts/lvm2_cluster_activation_systemd_red_hat.service scripts/lvm2_clvmd_systemd_red_hat.service scripts/lvm2_cmirrord_systemd_red_hat.service scripts/lvm2_lvmdbusd_systemd_red_hat.service scripts/lvm2_lvmetad_init_red_hat scripts/lvm2_lvmetad_systemd_red_hat.service scripts/lvm2_lvmetad_systemd_red_hat.socket scripts/lvm2_lvmpolld_init_red_hat scripts/lvm2_lvmpolld_systemd_red_hat.service scripts/lvm2_lvmpolld_systemd_red_hat.socket scripts/lvm2_lvmlockd_systemd_red_hat.service scripts/lvm2_lvmlocking_systemd_red_hat.service scripts/lvm2_monitoring_init_red_hat scripts/lvm2_monitoring_systemd_red_hat.service scripts/lvm2_pvscan_systemd_red_hat@.service scripts/lvm2_tmpfiles_red_hat.conf scripts/lvmdump.sh scripts/Makefile test/Makefile test/api/Makefile test/api/python_lvm_unit.py test/unit/Makefile tools/Makefile udev/Makefile"
+ac_config_files="$ac_config_files Makefile make.tmpl daemons/Makefile daemons/clvmd/Makefile daemons/cmirrord/Makefile daemons/dmeventd/Makefile daemons/dmeventd/libdevmapper-event.pc daemons/dmeventd/plugins/Makefile daemons/dmeventd/plugins/lvm2/Makefile daemons/dmeventd/plugins/raid/Makefile daemons/dmeventd/plugins/mirror/Makefile daemons/dmeventd/plugins/snapshot/Makefile daemons/dmeventd/plugins/thin/Makefile daemons/dmfilemapd/Makefile daemons/lvmdbusd/Makefile daemons/lvmdbusd/lvmdbusd daemons/lvmdbusd/lvmdb.py daemons/lvmdbusd/lvm_shell_proxy.py daemons/lvmdbusd/path.py daemons/lvmetad/Makefile daemons/lvmpolld/Makefile daemons/lvmlockd/Makefile device_mapper/Makefile conf/Makefile conf/example.conf conf/lvmlocal.conf conf/command_profile_template.profile conf/metadata_profile_template.profile include/.symlinks include/Makefile lib/Makefile lib/format1/Makefile lib/format_pool/Makefile lib/locking/Makefile include/lvm-version.h libdaemon/Makefile libdaemon/client/Makefile libdaemon/server/Makefile libdm/Makefile libdm/libdevmapper.pc liblvm/Makefile liblvm/liblvm2app.pc man/Makefile po/Makefile python/Makefile python/setup.py scripts/blkdeactivate.sh scripts/blk_availability_init_red_hat scripts/blk_availability_systemd_red_hat.service scripts/clvmd_init_red_hat scripts/cmirrord_init_red_hat scripts/com.redhat.lvmdbus1.service scripts/dm_event_systemd_red_hat.service scripts/dm_event_systemd_red_hat.socket scripts/lvm2_cluster_activation_red_hat.sh scripts/lvm2_cluster_activation_systemd_red_hat.service scripts/lvm2_clvmd_systemd_red_hat.service scripts/lvm2_cmirrord_systemd_red_hat.service scripts/lvm2_lvmdbusd_systemd_red_hat.service scripts/lvm2_lvmetad_init_red_hat scripts/lvm2_lvmetad_systemd_red_hat.service scripts/lvm2_lvmetad_systemd_red_hat.socket scripts/lvm2_lvmpolld_init_red_hat scripts/lvm2_lvmpolld_systemd_red_hat.service scripts/lvm2_lvmpolld_systemd_red_hat.socket scripts/lvm2_lvmlockd_systemd_red_hat.service scripts/lvm2_lvmlocking_systemd_red_hat.service scripts/lvm2_monitoring_init_red_hat scripts/lvm2_monitoring_systemd_red_hat.service scripts/lvm2_pvscan_systemd_red_hat@.service scripts/lvm2_tmpfiles_red_hat.conf scripts/lvmdump.sh scripts/Makefile test/Makefile test/api/Makefile test/api/python_lvm_unit.py test/unit/Makefile tools/Makefile udev/Makefile"
-ac_config_files="$ac_config_files Makefile make.tmpl daemons/Makefile daemons/clvmd/Makefile daemons/cmirrord/Makefile daemons/dmeventd/Makefile daemons/dmeventd/libdevmapper-event.pc daemons/dmeventd/plugins/Makefile daemons/dmeventd/plugins/lvm2/Makefile daemons/dmeventd/plugins/raid/Makefile daemons/dmeventd/plugins/mirror/Makefile daemons/dmeventd/plugins/snapshot/Makefile daemons/dmeventd/plugins/thin/Makefile daemons/dmeventd/plugins/vdo/Makefile daemons/dmfilemapd/Makefile daemons/lvmdbusd/Makefile daemons/lvmdbusd/lvmdbusd daemons/lvmdbusd/lvmdb.py daemons/lvmdbusd/lvm_shell_proxy.py daemons/lvmdbusd/path.py daemons/lvmetad/Makefile daemons/lvmpolld/Makefile daemons/lvmlockd/Makefile device_mapper/Makefile conf/Makefile conf/example.conf conf/lvmlocal.conf conf/command_profile_template.profile conf/metadata_profile_template.profile include/.symlinks include/Makefile lib/Makefile lib/locking/Makefile include/lvm-version.h libdaemon/Makefile libdaemon/client/Makefile libdaemon/server/Makefile libdm/Makefile libdm/libdevmapper.pc liblvm/Makefile liblvm/liblvm2app.pc man/Makefile po/Makefile python/Makefile python/setup.py scripts/blkdeactivate.sh scripts/blk_availability_init_red_hat scripts/blk_availability_systemd_red_hat.service scripts/clvmd_init_red_hat scripts/cmirrord_init_red_hat scripts/com.redhat.lvmdbus1.service scripts/dm_event_systemd_red_hat.service scripts/dm_event_systemd_red_hat.socket scripts/lvm2_cluster_activation_red_hat.sh scripts/lvm2_cluster_activation_systemd_red_hat.service scripts/lvm2_clvmd_systemd_red_hat.service scripts/lvm2_cmirrord_systemd_red_hat.service scripts/lvm2_lvmdbusd_systemd_red_hat.service scripts/lvm2_lvmetad_init_red_hat scripts/lvm2_lvmetad_systemd_red_hat.service scripts/lvm2_lvmetad_systemd_red_hat.socket scripts/lvm2_lvmpolld_init_red_hat scripts/lvm2_lvmpolld_systemd_red_hat.service scripts/lvm2_lvmpolld_systemd_red_hat.socket scripts/lvm2_lvmlockd_systemd_red_hat.service scripts/lvm2_lvmlocking_systemd_red_hat.service scripts/lvm2_monitoring_init_red_hat scripts/lvm2_monitoring_systemd_red_hat.service scripts/lvm2_pvscan_systemd_red_hat@.service scripts/lvm2_tmpfiles_red_hat.conf scripts/lvmdump.sh scripts/Makefile test/Makefile test/api/Makefile test/api/python_lvm_unit.py test/unit/Makefile tools/Makefile udev/Makefile"
+ac_config_files="$ac_config_files Makefile make.tmpl daemons/Makefile daemons/clvmd/Makefile daemons/cmirrord/Makefile daemons/dmeventd/Makefile daemons/dmeventd/libdevmapper-event.pc daemons/dmeventd/plugins/Makefile daemons/dmeventd/plugins/lvm2/Makefile daemons/dmeventd/plugins/raid/Makefile daemons/dmeventd/plugins/mirror/Makefile daemons/dmeventd/plugins/snapshot/Makefile daemons/dmeventd/plugins/thin/Makefile daemons/dmeventd/plugins/vdo/Makefile daemons/dmfilemapd/Makefile daemons/lvmdbusd/Makefile daemons/lvmdbusd/lvmdbusd daemons/lvmdbusd/lvmdb.py daemons/lvmdbusd/lvm_shell_proxy.py daemons/lvmdbusd/path.py daemons/lvmetad/Makefile daemons/lvmpolld/Makefile daemons/lvmlockd/Makefile device_mapper/Makefile conf/Makefile conf/example.conf conf/lvmlocal.conf conf/command_profile_template.profile conf/metadata_profile_template.profile include/.symlinks include/Makefile lib/Makefile lib/format1/Makefile lib/format_pool/Makefile lib/locking/Makefile include/lvm-version.h libdaemon/Makefile libdaemon/client/Makefile libdaemon/server/Makefile libdm/Makefile libdm/libdevmapper.pc liblvm/Makefile liblvm/liblvm2app.pc man/Makefile po/Makefile python/Makefile python/setup.py scripts/blkdeactivate.sh scripts/blk_availability_init_red_hat scripts/blk_availability_systemd_red_hat.service scripts/clvmd_init_red_hat scripts/cmirrord_init_red_hat scripts/com.redhat.lvmdbus1.service scripts/dm_event_systemd_red_hat.service scripts/dm_event_systemd_red_hat.socket scripts/lvm2_cluster_activation_red_hat.sh scripts/lvm2_cluster_activation_systemd_red_hat.service scripts/lvm2_clvmd_systemd_red_hat.service scripts/lvm2_cmirrord_systemd_red_hat.service scripts/lvm2_lvmdbusd_systemd_red_hat.service scripts/lvm2_lvmetad_init_red_hat scripts/lvm2_lvmetad_systemd_red_hat.service scripts/lvm2_lvmetad_systemd_red_hat.socket scripts/lvm2_lvmpolld_init_red_hat scripts/lvm2_lvmpolld_systemd_red_hat.service scripts/lvm2_lvmpolld_systemd_red_hat.socket scripts/lvm2_lvmlockd_systemd_red_hat.service scripts/lvm2_lvmlocking_systemd_red_hat.service scripts/lvm2_monitoring_init_red_hat scripts/lvm2_monitoring_systemd_red_hat.service scripts/lvm2_pvscan_systemd_red_hat@.service scripts/lvm2_tmpfiles_red_hat.conf scripts/lvmdump.sh scripts/Makefile test/Makefile test/api/Makefile test/api/python_lvm_unit.py test/unit/Makefile tools/Makefile udev/Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -16285,6 +16374,8 @@ do
@@ -16286,6 +16375,8 @@ do
"include/.symlinks") CONFIG_FILES="$CONFIG_FILES include/.symlinks" ;;
"include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
"lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
@ -252,7 +252,7 @@ index ef24b31..10b49c6 100755 @@ -252,7 +252,7 @@ index ef24b31..10b49c6 100755
"include/lvm-version.h") CONFIG_FILES="$CONFIG_FILES include/lvm-version.h" ;;
"libdaemon/Makefile") CONFIG_FILES="$CONFIG_FILES libdaemon/Makefile" ;;
diff --git a/configure.ac b/configure.ac
index 935ea08..9fa0c76 100644
index e6bb905..ad356b8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -283,6 +283,58 @@ AC_MSG_RESULT($MANGLING)
@ -339,7 +339,7 @@ index 935ea08..9fa0c76 100644 @@ -339,7 +339,7 @@ index 935ea08..9fa0c76 100644
AC_SUBST(M_LIBS)
AC_SUBST(PTHREAD_LIBS)
AC_SUBST(PYTHON2)
@@ -2117,6 +2173,8 @@ conf/metadata_profile_template.profile
@@ -2118,6 +2174,8 @@ conf/metadata_profile_template.profile
include/.symlinks
include/Makefile
lib/Makefile
@ -406,7 +406,7 @@ index be2623a..a2adfe6 100644 @@ -406,7 +406,7 @@ index be2623a..a2adfe6 100644
#define LVMETAD_DISABLE_REASON_VGRESTORE "VGRESTORE"
#define LVMETAD_DISABLE_REASON_REPAIR "REPAIR"
diff --git a/daemons/lvmetad/lvmetad-core.c b/daemons/lvmetad/lvmetad-core.c
index 72473d7..f4f5f42 100644
index 9ae359b..3e379fe 100644
--- a/daemons/lvmetad/lvmetad-core.c
+++ b/daemons/lvmetad/lvmetad-core.c
@@ -200,12 +200,12 @@ struct vg_info {
@ -446,7 +446,7 @@ index 72473d7..f4f5f42 100644 @@ -446,7 +446,7 @@ index 72473d7..f4f5f42 100644
(s->flags & GLFL_DISABLE_REASON_VGRESTORE) ? LVMETAD_DISABLE_REASON_VGRESTORE "," : "");
}
diff --git a/include/configure.h.in b/include/configure.h.in
index 15fd150..605f1e1 100644
index 812cacc..bbeb565 100644
--- a/include/configure.h.in
+++ b/include/configure.h.in
@@ -72,6 +72,10 @@
@ -460,7 +460,7 @@ index 15fd150..605f1e1 100644 @@ -460,7 +460,7 @@ index 15fd150..605f1e1 100644
/* Name of default locking directory. */
#undef DEFAULT_LOCK_DIR
@@ -616,6 +620,13 @@
@@ -619,6 +623,13 @@
slash. */
#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
@ -474,7 +474,7 @@ index 15fd150..605f1e1 100644 @@ -474,7 +474,7 @@ index 15fd150..605f1e1 100644
/* Path to lvmetad pidfile. */
#undef LVMETAD_PIDFILE
@@ -678,6 +689,9 @@
@@ -681,6 +692,9 @@
/* Define to the version of this package. */
#undef PACKAGE_VERSION
@ -539,7 +539,7 @@ index 1d42235..241cf09 100644 @@ -539,7 +539,7 @@ index 1d42235..241cf09 100644
locking
endif
diff --git a/lib/activate/activate.c b/lib/activate/activate.c
index 56ec732..18f4b84 100644
index dc9bc9e..6823e25 100644
--- a/lib/activate/activate.c
+++ b/lib/activate/activate.c
@@ -37,6 +37,19 @@
@ -563,7 +563,7 @@ index 56ec732..18f4b84 100644 @@ -563,7 +563,7 @@ index 56ec732..18f4b84 100644
struct dm_list *modules)
{
diff --git a/lib/activate/activate.h b/lib/activate/activate.h
index d2c6db7..2fc74ce 100644
index 524d2bf..43d26d1 100644
--- a/lib/activate/activate.h
+++ b/lib/activate/activate.h
@@ -91,6 +91,7 @@ int activation(void);
@ -575,7 +575,7 @@ index d2c6db7..2fc74ce 100644 @@ -575,7 +575,7 @@ index d2c6db7..2fc74ce 100644
int module_present(struct cmd_context *cmd, const char *target_name);
int target_present_version(struct cmd_context *cmd, const char *target_name,
diff --git a/lib/cache/lvmcache.c b/lib/cache/lvmcache.c
index 3e681a2..2fba3ff 100644
index ad40d4c..62f1d3c 100644
--- a/lib/cache/lvmcache.c
+++ b/lib/cache/lvmcache.c
@@ -22,6 +22,8 @@
@ -597,10 +597,10 @@ index 3e681a2..2fba3ff 100644 @@ -597,10 +597,10 @@ index 3e681a2..2fba3ff 100644
_drop_metadata(vgname, drop_precommitted);
}
diff --git a/lib/cache/lvmetad.c b/lib/cache/lvmetad.c
index a1ab41a..2a2d7ea 100644
index 86a880a..ec1a749 100644
--- a/lib/cache/lvmetad.c
+++ b/lib/cache/lvmetad.c
@@ -37,6 +37,8 @@ static const char *_lvmetad_socket = NULL;
@@ -38,6 +38,8 @@ static const char *_lvmetad_socket = NULL;
static struct cmd_context *_lvmetad_cmd = NULL;
static int64_t _lvmetad_update_timeout;
@ -609,7 +609,7 @@ index a1ab41a..2a2d7ea 100644 @@ -609,7 +609,7 @@ index a1ab41a..2a2d7ea 100644
static struct volume_group *_lvmetad_pvscan_vg(struct cmd_context *cmd, struct volume_group *vg, const char *vgid, struct format_type *fmt);
static uint64_t _monotonic_seconds(void)
@@ -2277,6 +2279,18 @@ int lvmetad_pvscan_single(struct cmd_context *cmd, struct device *dev,
@@ -2287,6 +2289,18 @@ int lvmetad_pvscan_single(struct cmd_context *cmd, struct device *dev,
if (!baton.fid)
goto_bad;
@ -628,7 +628,7 @@ index a1ab41a..2a2d7ea 100644 @@ -628,7 +628,7 @@ index a1ab41a..2a2d7ea 100644
lvmcache_foreach_mda(info, _lvmetad_pvscan_single, &baton);
if (!baton.vg)
@@ -2440,9 +2454,11 @@ int lvmetad_pvscan_all_devs(struct cmd_context *cmd, int do_wait)
@@ -2451,9 +2465,11 @@ int lvmetad_pvscan_all_devs(struct cmd_context *cmd, int do_wait)
}
/*
@ -642,7 +642,7 @@ index a1ab41a..2a2d7ea 100644 @@ -642,7 +642,7 @@ index a1ab41a..2a2d7ea 100644
log_debug_lvmetad("Enabling lvmetad which was previously disabled.");
lvmetad_clear_disabled(cmd);
}
@@ -3058,6 +3074,9 @@ int lvmetad_is_disabled(struct cmd_context *cmd, const char **reason)
@@ -3101,6 +3117,9 @@ int lvmetad_is_disabled(struct cmd_context *cmd, const char **reason)
} else if (strstr(reply_reason, LVMETAD_DISABLE_REASON_REPAIR)) {
*reason = "a repair command was run";
@ -653,7 +653,7 @@ index a1ab41a..2a2d7ea 100644 @@ -653,7 +653,7 @@ index a1ab41a..2a2d7ea 100644
*reason = "duplicate PVs were found";
diff --git a/lib/commands/toolcontext.c b/lib/commands/toolcontext.c
index c9596e2..2b72645 100644
index 25e8b87..511ccd9 100644
--- a/lib/commands/toolcontext.c
+++ b/lib/commands/toolcontext.c
@@ -36,6 +36,14 @@
@ -671,7 +671,7 @@ index c9596e2..2b72645 100644 @@ -671,7 +671,7 @@ index c9596e2..2b72645 100644
#include <locale.h>
#include <sys/stat.h>
#include <sys/syscall.h>
@@ -1134,12 +1142,14 @@ static struct dev_filter *_init_lvmetad_filter_chain(struct cmd_context *cmd)
@@ -1138,12 +1146,14 @@ static struct dev_filter *_init_lvmetad_filter_chain(struct cmd_context *cmd)
}
nr_filt++;
@ -686,7 +686,7 @@ index c9596e2..2b72645 100644 @@ -686,7 +686,7 @@ index c9596e2..2b72645 100644
/* md component filter. Optional, non-critical. */
if (find_config_tree_bool(cmd, devices_md_component_detection_CFG, NULL)) {
@@ -1340,6 +1350,20 @@ static int _init_formats(struct cmd_context *cmd)
@@ -1344,6 +1354,20 @@ static int _init_formats(struct cmd_context *cmd)
const struct dm_config_node *cn;
#endif
@ -708,10 +708,10 @@ index c9596e2..2b72645 100644 @@ -708,10 +708,10 @@ index c9596e2..2b72645 100644
/* Load any formats in shared libs if not static */
if (!is_static() &&
diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h
index e98ca6d..6d79087 100644
index 02e2b29..9904a62 100644
--- a/lib/config/config_settings.h
+++ b/lib/config/config_settings.h
@@ -767,14 +767,26 @@ cfg(global_activation_CFG, "activation", global_CFG_SECTION, 0, CFG_TYPE_BOOL, D
@@ -780,14 +780,26 @@ cfg(global_activation_CFG, "activation", global_CFG_SECTION, 0, CFG_TYPE_BOOL, D
"is not present in the kernel, disabling this should suppress\n"
"the error messages.\n")
@ -5470,10 +5470,10 @@ index 7866d56..e535237 100644 @@ -5470,10 +5470,10 @@ index 7866d56..e535237 100644
if (vg->lock_type) {
outf(f, "lock_type = \"%s\"", vg->lock_type);
diff --git a/lib/format_text/format-text.c b/lib/format_text/format-text.c
index 5c7b72f..792d75a 100644
index b9d85a4..200b011 100644
--- a/lib/format_text/format-text.c
+++ b/lib/format_text/format-text.c
@@ -2545,9 +2545,9 @@ struct format_type *create_text_format(struct cmd_context *cmd)
@@ -2559,9 +2559,9 @@ struct format_type *create_text_format(struct cmd_context *cmd)
fmt->name = FMT_TEXT_NAME;
fmt->alias = FMT_TEXT_ALIAS;
fmt->orphan_vg_name = ORPHAN_VG_NAME(FMT_TEXT_NAME);
@ -5565,10 +5565,10 @@ index 2584227..2b53553 100644 @@ -5565,10 +5565,10 @@ index 2584227..2b53553 100644
case LCK_LV:
/* All LV locks are non-blocking. */
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index e4293cc..1c6dc62 100644
index 9e7eff9..a8c50e7 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -5981,6 +5981,8 @@ int lv_remove_single(struct cmd_context *cmd, struct logical_volume *lv,
@@ -6003,6 +6003,8 @@ int lv_remove_single(struct cmd_context *cmd, struct logical_volume *lv,
force_t force, int suppress_remove_message)
{
struct volume_group *vg;
@ -5577,7 +5577,7 @@ index e4293cc..1c6dc62 100644 @@ -5577,7 +5577,7 @@ index e4293cc..1c6dc62 100644
int visible, historical;
struct logical_volume *pool_lv = NULL;
struct logical_volume *lock_lv = lv;
@@ -6133,6 +6135,10 @@ int lv_remove_single(struct cmd_context *cmd, struct logical_volume *lv,
@@ -6155,6 +6157,10 @@ int lv_remove_single(struct cmd_context *cmd, struct logical_volume *lv,
}
if (lv_is_cow(lv)) {
@ -5588,7 +5588,7 @@ index e4293cc..1c6dc62 100644 @@ -5588,7 +5588,7 @@ index e4293cc..1c6dc62 100644
log_verbose("Removing snapshot volume %s.", display_lvname(lv));
/* vg_remove_snapshot() will preload origin/former snapshots */
if (!vg_remove_snapshot(lv))
@@ -6188,10 +6194,30 @@ int lv_remove_single(struct cmd_context *cmd, struct logical_volume *lv,
@@ -6210,10 +6216,30 @@ int lv_remove_single(struct cmd_context *cmd, struct logical_volume *lv,
}
}
@ -5620,7 +5620,7 @@ index e4293cc..1c6dc62 100644 @@ -5620,7 +5620,7 @@ index e4293cc..1c6dc62 100644
/* TODO: defer when multiple LVs relased at once */
if (pool_lv && !update_pool_lv(pool_lv, 1)) {
diff --git a/lib/metadata/metadata-exported.h b/lib/metadata/metadata-exported.h
index f4fb112..377644b 100644
index 75caba1..2245c29 100644
--- a/lib/metadata/metadata-exported.h
+++ b/lib/metadata/metadata-exported.h
@@ -149,7 +149,7 @@
@ -5652,7 +5652,7 @@ index f4fb112..377644b 100644 @@ -5652,7 +5652,7 @@ index f4fb112..377644b 100644
#define MIRROR_BY_SEG 0x00000001U /* segment-by-segment mirror */
#define MIRROR_BY_LV 0x00000002U /* mirror using whole mimage LVs */
diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c
index 2292568..e33a779 100644
index cb38f66..3620240 100644
--- a/lib/metadata/metadata.c
+++ b/lib/metadata/metadata.c
@@ -1011,6 +1011,8 @@ struct volume_group *vg_create(struct cmd_context *cmd, const char *vg_name)
@ -5664,7 +5664,7 @@ index 2292568..e33a779 100644 @@ -5664,7 +5664,7 @@ index 2292568..e33a779 100644
vg->extent_size = DEFAULT_EXTENT_SIZE * 2;
vg->max_lv = DEFAULT_MAX_LV;
@@ -2971,7 +2973,7 @@ int vg_write(struct volume_group *vg)
@@ -2969,7 +2971,7 @@ int vg_write(struct volume_group *vg)
return 0;
}
@ -5673,7 +5673,7 @@ index 2292568..e33a779 100644 @@ -5673,7 +5673,7 @@ index 2292568..e33a779 100644
return_0;
if (!vg_mda_used_count(vg)) {
@@ -5375,6 +5377,15 @@ int is_system_id_allowed(struct cmd_context *cmd, const char *system_id)
@@ -5373,6 +5375,15 @@ int is_system_id_allowed(struct cmd_context *cmd, const char *system_id)
static int _access_vg_systemid(struct cmd_context *cmd, struct volume_group *vg)
{
/*
@ -5689,7 +5689,7 @@ index 2292568..e33a779 100644 @@ -5689,7 +5689,7 @@ index 2292568..e33a779 100644
* A few commands allow read-only access to foreign VGs.
*/
if (cmd->include_foreign_vgs)
@@ -5426,6 +5437,11 @@ static int _vg_access_permitted(struct cmd_context *cmd, struct volume_group *vg
@@ -5424,6 +5435,11 @@ static int _vg_access_permitted(struct cmd_context *cmd, struct volume_group *vg
uint32_t lockd_state, uint32_t *failure)
{
if (!is_real_vg(vg->name)) {
@ -5979,10 +5979,10 @@ index 0000000..75c97cb @@ -5979,10 +5979,10 @@ index 0000000..75c97cb
+
+vgremove -ff $vg
diff --git a/tools/args.h b/tools/args.h
index 603a0cf..b80b8da 100644
index c2fbac6..abe193c 100644
--- a/tools/args.h
+++ b/tools/args.h
@@ -1207,7 +1207,8 @@ arg(mirrors_ARG, 'm', "mirrors", number_VAL, 0, 0,
@@ -1211,7 +1211,8 @@ arg(mirrors_ARG, 'm', "mirrors", number_VAL, 0, 0,
arg(metadatatype_ARG, 'M', "metadatatype", metadatatype_VAL, 0, 0,
"Specifies the type of on-disk metadata to use.\n"
"\\fBlvm2\\fP (or just \\fB2\\fP) is the current, standard format.\n"
@ -5993,10 +5993,10 @@ index 603a0cf..b80b8da 100644 @@ -5993,10 +5993,10 @@ index 603a0cf..b80b8da 100644
arg(name_ARG, 'n', "name", string_VAL, 0, 0,
"#lvcreate\n"
diff --git a/tools/lvconvert.c b/tools/lvconvert.c
index b149201..3ce228f 100644
index bc666c0..4b04576 100644
--- a/tools/lvconvert.c
+++ b/tools/lvconvert.c
@@ -1770,6 +1770,11 @@ static int _lvconvert_splitsnapshot(struct cmd_context *cmd, struct logical_volu
@@ -1816,6 +1816,11 @@ static int _lvconvert_splitsnapshot(struct cmd_context *cmd, struct logical_volu
return 0;
}
@ -6009,7 +6009,7 @@ index b149201..3ce228f 100644 @@ -6009,7 +6009,7 @@ index b149201..3ce228f 100644
/* FIXME: we need to create a lock for the new LV. */
log_error("Unable to split snapshots in VG with lock_type %s.", vg->lock_type);
diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c
index 0dd24ec..0600b1c 100644
index a9c3e41..f238b64 100644
--- a/tools/lvmcmdline.c
+++ b/tools/lvmcmdline.c
@@ -23,6 +23,7 @@
@ -6020,7 +6020,7 @@ index 0dd24ec..0600b1c 100644 @@ -6020,7 +6020,7 @@ index 0dd24ec..0600b1c 100644
#include <signal.h>
#include <sys/stat.h>
@@ -2899,6 +2900,13 @@ int lvm_run_command(struct cmd_context *cmd, int argc, char **argv)
@@ -2913,6 +2914,13 @@ int lvm_run_command(struct cmd_context *cmd, int argc, char **argv)
goto out;
}
@ -6032,9 +6032,9 @@ index 0dd24ec..0600b1c 100644 @@ -6032,9 +6032,9 @@ index 0dd24ec..0600b1c 100644
+ }
+
if (cmd->command->command_enum == lvconvert_repair_CMD) {
log_warn("WARNING: Disabling lvmetad cache for repair command.");
lvmetad_set_disabled(cmd, LVMETAD_DISABLE_REASON_REPAIR);
@@ -2963,7 +2971,7 @@ int lvm_run_command(struct cmd_context *cmd, int argc, char **argv)
log_warn("WARNING: Not using lvmetad because of repair.");
lvmetad_make_unused(cmd);
@@ -2975,7 +2983,7 @@ int lvm_run_command(struct cmd_context *cmd, int argc, char **argv)
* by different token values.)
*
* lvmetad may have been previously disabled (or disabled during the
@ -6043,7 +6043,7 @@ index 0dd24ec..0600b1c 100644 @@ -6043,7 +6043,7 @@ index 0dd24ec..0600b1c 100644
* In this case, disable the *use* of lvmetad by this command, reverting to
* disk scanning.
*/
@@ -3388,6 +3396,41 @@ static int _run_script(struct cmd_context *cmd, int argc, char **argv)
@@ -3400,6 +3408,41 @@ static int _run_script(struct cmd_context *cmd, int argc, char **argv)
return ret;
}
@ -6085,7 +6085,7 @@ index 0dd24ec..0600b1c 100644 @@ -6085,7 +6085,7 @@ index 0dd24ec..0600b1c 100644
static void _nonroot_warning(void)
{
if (getuid() || geteuid())
@@ -3477,6 +3520,19 @@ int lvm2_main(int argc, char **argv)
@@ -3489,6 +3532,19 @@ int lvm2_main(int argc, char **argv)
} else
run_name = dm_basename(argv[0]);
@ -6106,10 +6106,10 @@ index 0dd24ec..0600b1c 100644 @@ -6106,10 +6106,10 @@ index 0dd24ec..0600b1c 100644
* Decide if we are running a shell or a command or a script. When
* there is no run_name, it's a shell, when run_name is a recognized
diff --git a/tools/pvscan.c b/tools/pvscan.c
index 2915db5..d9ad097 100644
index daac88f..c43d602 100644
--- a/tools/pvscan.c
+++ b/tools/pvscan.c
@@ -631,7 +631,7 @@ out:
@@ -650,7 +650,7 @@ out:
* display the PV info.
*
* iii. If lvmetad is being used, but has been disabled (because of
@ -6118,7 +6118,7 @@ index 2915db5..d9ad097 100644 @@ -6118,7 +6118,7 @@ index 2915db5..d9ad097 100644
* (because the device filter is different from the device filter last
* used to populate lvmetad), then 'pvscan' will begin by rescanning
* devices to repopulate lvmetad. If lvmetad is enabled after the
@@ -644,7 +644,8 @@ out:
@@ -663,7 +663,8 @@ out:
* attempt to repopulate the lvmetad cache by rescanning all devs
* (regardless of whether lvmetad was previously disabled or had an
* unmatching token.) lvmetad may be enabled or disabled after the
@ -6141,7 +6141,7 @@ index 1d58387..f03e5d3 100644 @@ -6141,7 +6141,7 @@ index 1d58387..f03e5d3 100644
}
diff --git a/tools/toollib.c b/tools/toollib.c
index 413937f..b60ff06 100644
index 3221e5f..bd9c9fe 100644
--- a/tools/toollib.c
+++ b/tools/toollib.c
@@ -14,6 +14,7 @@
@ -6152,7 +6152,7 @@ index 413937f..b60ff06 100644 @@ -6152,7 +6152,7 @@ index 413937f..b60ff06 100644
#include "format-text.h"
#include <sys/stat.h>
@@ -4110,6 +4111,7 @@ static int _process_duplicate_pvs(struct cmd_context *cmd,
@@ -4168,6 +4169,7 @@ static int _process_duplicate_pvs(struct cmd_context *cmd,
.fid = &dummy_fid,
.name = "",
.system_id = (char *) "",
@ -6160,7 +6160,7 @@ index 413937f..b60ff06 100644 @@ -6160,7 +6160,7 @@ index 413937f..b60ff06 100644
.pvs = DM_LIST_HEAD_INIT(dummy_vg.pvs),
.lvs = DM_LIST_HEAD_INIT(dummy_vg.lvs),
.historical_lvs = DM_LIST_HEAD_INIT(dummy_vg.historical_lvs),
@@ -4747,6 +4749,23 @@ int pvcreate_params_from_args(struct cmd_context *cmd, struct pvcreate_params *p
@@ -4805,6 +4807,23 @@ int pvcreate_params_from_args(struct cmd_context *cmd, struct pvcreate_params *p
pp->pva.label_sector = arg_int64_value(cmd, labelsector_ARG,
DEFAULT_LABELSECTOR);
@ -6184,7 +6184,7 @@ index 413937f..b60ff06 100644 @@ -6184,7 +6184,7 @@ index 413937f..b60ff06 100644
if (arg_is_set(cmd, metadataignore_ARG))
pp->pva.metadataignore = arg_int_value(cmd, metadataignore_ARG,
DEFAULT_PVMETADATAIGNORE);
@@ -5106,7 +5125,10 @@ static int _pvcreate_check_single(struct cmd_context *cmd,
@@ -5164,7 +5183,10 @@ static int _pvcreate_check_single(struct cmd_context *cmd,
pd->is_orphan_pv = 1;
}
@ -6196,7 +6196,7 @@ index 413937f..b60ff06 100644 @@ -6196,7 +6196,7 @@ index 413937f..b60ff06 100644
} else {
log_debug("Found pvcreate arg %s: device is not a PV.", pd->name);
/* Device is not a PV. */
@@ -5335,7 +5357,10 @@ static int _pvremove_check_single(struct cmd_context *cmd,
@@ -5393,7 +5415,10 @@ static int _pvremove_check_single(struct cmd_context *cmd,
pd->is_orphan_pv = 1;
}
@ -6231,10 +6231,10 @@ index 79c48b5..95dc8b2 100644 @@ -6231,10 +6231,10 @@ index 79c48b5..95dc8b2 100644
val(segtype_VAL, segtype_arg, "SegType", "linear|striped|snapshot|mirror|raid|thin|cache|thin-pool|cache-pool")
val(alloc_VAL, alloc_arg, "Alloc", "contiguous|cling|cling_by_tags|normal|anywhere|inherit")
diff --git a/tools/vgchange.c b/tools/vgchange.c
index 623517b..67be3ec 100644
index 24c2253..4498f06 100644
--- a/tools/vgchange.c
+++ b/tools/vgchange.c
@@ -534,6 +534,13 @@ static int _vgchange_system_id(struct cmd_context *cmd, struct volume_group *vg)
@@ -545,6 +545,13 @@ static int _vgchange_system_id(struct cmd_context *cmd, struct volume_group *vg)
const char *system_id;
const char *system_id_arg_str = arg_str_value(cmd, systemid_ARG, NULL);
@ -6248,7 +6248,7 @@ index 623517b..67be3ec 100644 @@ -6248,7 +6248,7 @@ index 623517b..67be3ec 100644
if (!(system_id = system_id_from_string(cmd, system_id_arg_str))) {
log_error("Unable to set system ID.");
return 0;
@@ -583,6 +590,9 @@ static int _vgchange_system_id(struct cmd_context *cmd, struct volume_group *vg)
@@ -594,6 +601,9 @@ static int _vgchange_system_id(struct cmd_context *cmd, struct volume_group *vg)
vg->system_id = system_id;

12
SOURCES/lvm2-rhel7.patch

@ -3,16 +3,16 @@ @@ -3,16 +3,16 @@
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/VERSION b/VERSION
index 9e5739e..98731d0 100644
index 583267e..a7cba47 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.02.180(2) (2018-07-19)
+2.02.180(2)-RHEL7 (2018-07-20)
-2.02.185(2) (2019-05-13)
+2.02.185(2)-RHEL7 (2019-05-13)
diff --git a/VERSION_DM b/VERSION_DM
index 88fc33b..1da204c 100644
index 8c4af2c..6b38abe 100644
--- a/VERSION_DM
+++ b/VERSION_DM
@@ -1 +1 @@
-1.02.149 (2018-07-19)
+1.02.149-RHEL7 (2018-07-20)
-1.02.158 (2019-05-13)
+1.02.158-RHEL7 (2019-05-13)

4
SOURCES/lvm2-set-default-preferred_names.patch

@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/conf/example.conf.in b/conf/example.conf.in
index aab274d..4894d04 100644
index 38855e9..7ccf928 100644
--- a/conf/example.conf.in
+++ b/conf/example.conf.in
@@ -106,7 +106,7 @@ devices {
@ -16,7 +16,7 @@ index aab274d..4894d04 100644 @@ -16,7 +16,7 @@ index aab274d..4894d04 100644
# Configuration option devices/filter.
# Limit the block devices that are used by LVM commands.
diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h
index 077fb15..65cda08 100644
index 0e81252..02e2b29 100644
--- a/lib/config/config_settings.h
+++ b/lib/config/config_settings.h
@@ -255,7 +255,7 @@ cfg(devices_external_device_info_source_CFG, "external_device_info_source", devi

116
SPECS/lvm2.spec

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
%global device_mapper_version 1.02.149
%global device_mapper_version 1.02.158

%global enable_cache 1
%global enable_cluster 1
@ -27,7 +27,7 @@ @@ -27,7 +27,7 @@

%global boom_pkgname lvm2-python-boom
%global boom_version 0.9
%global boom_release 13
%global boom_release 18
%global boom_summary A set of libraries and tools for managing boot loader entries
%global boom_dir boom-%{boom_version}

@ -40,10 +40,6 @@ @@ -40,10 +40,6 @@
%global enable_lockd_dlm 0
%endif

%ifarch ppc64
%global enable_cmirror 1
%endif

%ifnarch x86_64 ppc64 aarch64
%global enable_lockd_sanlock 0
%endif
@ -70,8 +66,8 @@ @@ -70,8 +66,8 @@
Summary: Userland logical volume management tools
Name: lvm2
Epoch: 7
Version: 2.02.180
Release: 10%{?dist}.2%{?scratch}
Version: 2.02.185
Release: 2%{?dist}%{?scratch}
License: GPLv2
Group: System Environment/Base
URL: http://sources.redhat.com/lvm2
@ -82,32 +78,13 @@ Patch1: lvm2-set-default-preferred_names.patch @@ -82,32 +78,13 @@ Patch1: lvm2-set-default-preferred_names.patch
Patch2: lvm2-fix-libdm-versioning-for-dm_tree_node_size_changed-symbol.patch
Patch3: lvm2-drop-unavailable-libblkid-2_24-BLKID_SUBLKS_BADCSUM-for-signature-detection.patch
Patch4: lvm2-default-allow-changes-with-duplicate-pvs.patch
Patch5: lvm2-rhel7-fix-StartLimitInterval.patch
#Patch5: lvm2-rhel7-fix-StartLimitInterval.patch
Patch6: lvm2-rhel7-add-lvm1-and-pool-back.patch
Patch7: lvm2-2_02_180-make-generate.patch
Patch8: lvm2-2_02_181-post-release.patch
Patch9: lvm2-2_02_181-lvconvert-restrict-command-matching-for-no-option-va.patch
Patch10: lvm2-2_02_181-lvconvert-improve-text-about-splitmirrors.patch
Patch11: lvm2-2_02_181-lvconvert-reject-conversions-of-LVs-under-snapshot.patch
Patch12: lvm2-2_02_181-dmsetup-fix-error-propagation-in-_display_info_cols.patch
Patch13: lvm2-2_02_181-reject-conversions-trackchanges-SubLVs.patch
Patch14: lvm2-2_02_181-reject-conversions-trackchanges-LVs.patch
Patch15: lvm2-2_02_181-dmeventd-base-vdo-plugin.patch
Patch16: lvm2-2_02_181-dmeventd-rebase-to-stable-branch.patch
Patch17: lvm2-2_02_181-WHATS_NEW.patch
Patch18: lvm2-2_02_181-build-make-generate.patch
Patch19: lvm2-2_02_182-vgcreate-close-exclusive-fd-after-pvcreate.patch
Patch20: lvm2-2_02_182-mirrors-fix-read_only_volume_list.patch
Patch21: lvm2-2_02_182-cache-drop-metadata_format-validation.patch
Patch22: lvm2-2_02_182-mirror-fix-splitmirrors-for-mirror-type.patch
Patch23: lvm2-2_02_182-lvconvert-fix-direct-raid0-to-striped-conversion.patch
Patch24: lvm2-2_02_182-lvconvert-fix-conversion-attempts-to-linear.patch
Patch25: lvm2-2_02_182-dmeventd-lvm2-plugin-uses-envvar-registry.patch
Patch26: lvm2-2_02_182-scripts-add-After-rbdmap.service-to-lvm2-activation.patch
Patch27: lvm2-2_02_182-lvconvert-avoid-superfluous-interim-raid-type.patch
Patch28: lvm2-2_02_182-lvconvert-fix-interim-segtype-regression-on-raid6-co.patch
Patch29: lvm2-2_02_182-fix-clustered-mirror-repair.patch
Patch30: lvm2-2_02_182-metadata-prevent-writing-beyond-metadata-area.patch
Patch7: lvm2-2_02_186-lvmlockd-do-not-allow-mirror-LV-to-be-activated-shar.patch
Patch8: lvm2-2_02_186-man-updates-to-lvmlockd.patch
Patch9: lvm2-2_02_186-cache-support-no_discard_passdown.patch
Patch10: lvm2-2_02_186-mirror-fix-monitoring-change.patch
Patch11: lvm2-make-generate.patch

BuildRequires: libselinux-devel >= %{libselinux_version}, libsepol-devel
BuildRequires: libblkid-devel >= %{util_linux_version}
@ -165,32 +142,13 @@ or more physical volumes and creating one or more logical volumes @@ -165,32 +142,13 @@ or more physical volumes and creating one or more logical volumes
%patch2 -p1 -b .libdm_symbol_versioning
%patch3 -p1 -b .blkid_sublks_badcsum
%patch4 -p1 -b .default_allow_dup
%patch5 -p1 -b .startlimitinterval
#%%patch5 -p1 -b .startlimitinterval
%patch6 -p1 -b .add_lvm1_and_pool
%patch7 -p1 -b .make_generate
%patch8 -p1 -b .post_release
%patch9 -p1 -b .lvconvert_matching_no_option
%patch10 -p1 -b .lvconvert_text_splitmirrors
%patch11 -p1 -b .reject_conversions_under_snapshot
%patch12 -p1 -b .dmsetup_fix_error_display_info_cols
%patch13 -p1 -b .reject_conversions_trackchage_LVs
%patch14 -p1 -b .reject_conversions_trackchang_subLVs
%patch15 -p1 -b .dmeventd_base_vdo_plugin
%patch16 -p1 -b .dmeventd_rebase_to_stable_branch
%patch17 -p1 -b .WHATS_NEW
%patch18 -p1 -b .build_make_generate
%patch19 -p1 -b .close_excl_fd_after_pvcreate
%patch20 -p1 -b .mirrors_fix_RO_volume_list
%patch21 -p1 -b .cache_drop_metadata_format_validation
%patch22 -p1 -b .mirror_fix_splitmirrors
%patch23 -p1 -b .direct_raid0_to_striped_conversion
%patch24 -p1 -b .fix_conversion_to_linear
%patch25 -p1 -b .dmeventd_lvm2_plugin_uses_envvar_registry
%patch26 -p1 -b .lvm2_activation_after_rdbmap
%patch27 -p1 -b .avoid_superfluous_raid_conversion
%patch28 -p1 -b .fix_interim_segtype_on_raid6
%patch29 -p1 -b .fix_clvmd_mirror
%patch30 -p1 -b .prevent_writing_beyond_MDA
%patch7 -p1 -b .lvmlockd_do_not_allow_mirror_LV_activation
%patch8 -p1 -b .man_updates_to_lvmlockd
%patch9 -p1 -b .cache_support_no_discard_passdown
%patch10 -p1 -b .mirror_fix_monitoring_change
%patch11 -p1 -b .generate

%build
%global _default_pid_dir /run
@ -242,7 +200,7 @@ make %{?_smp_mflags} @@ -242,7 +200,7 @@ make %{?_smp_mflags}
%if %{enable_boom}
(
cd ../%{boom_dir}
%{__python} setup.py build
%py2_build
)
%endif

@ -257,7 +215,7 @@ make install_tmpfiles_configuration DESTDIR=$RPM_BUILD_ROOT @@ -257,7 +215,7 @@ make install_tmpfiles_configuration DESTDIR=$RPM_BUILD_ROOT
%if %{enable_boom}
(
cd ../%{boom_dir}
%{__python} setup.py install --root %{buildroot} --optimize 2
%py2_install

# Install Grub2 integration scripts
install -d -m 700 ${RPM_BUILD_ROOT}/etc/grub.d
@ -938,7 +896,7 @@ the device-mapper event library. @@ -938,7 +896,7 @@ the device-mapper event library.
%package -n %{boom_pkgname}
Summary: %{boom_summary}
Version: %{boom_version}
Release: %{boom_release}%{?dist}.2%{?scratch}
Release: %{boom_release}%{?dist}%{?scratch}
License: GPLv2
Group: System Environment/Base
BuildArch: noarch
@ -969,6 +927,42 @@ This package provides the python2 version of boom. @@ -969,6 +927,42 @@ This package provides the python2 version of boom.
%endif

%changelog
* Fri Jun 21 2019 Marian Csontos <mcsontos@redhat.com> - 7:2.02.185-2
- Fix cluster conversions from linear to mirror.
- Report no_discard_passdown for cache LVs with lvs -o+kernel_discards.
- Prevent shared active mirror LVs with lvmlockd.
- Parsing of cache status understand no_discard_passdown.

* Mon May 13 2019 Marian Csontos <mcsontos@redhat.com> - 7:2.02.185-1
- Fix change of monitoring in clustered volumes.
- Improve -lXXX%VG modifier which improves cache segment estimation.
- Add synchronization with udev before removing cached devices.
- Fix missing growth of _pmspare volume when extending _tmeta volume.
- Automatically grow thin metadata, when thin data gets too big.

* Mon Apr 29 2019 Marian Csontos <mcsontos@redhat.com> - 7:2.02.184-3
- Fix shutdown of deamons.

* Wed Apr 17 2019 Marian Csontos <mcsontos@redhat.com> - 7:2.02.184-2
- Add support for vgsplit with cached devices.
- Fix conversion of cache pool to RAID1 (2.02.184).
- Fix signal delivery checking race in libdaemon (lvmetad).
- Add missing Before=shutdown.target to LVM2 services to fix shutdown ordering.

* Fri Mar 22 2019 Marian Csontos <mcsontos@redhat.com> - 7:2.02.184-1
- See WHATS_NEW and WHATS_NEW_DM in the documentation directory for details.

* Mon Mar 18 2019 Marian Csontos <mcsontos@redhat.com> - 7:2.02.180-10.el7_6.5
- boom: Bump release.

* Mon Mar 18 2019 Marian Csontos <mcsontos@redhat.com> - 7:2.02.180-10.el7_6.4
- Apply obtain_device_list_from_udev to all libudev calls.

* Mon Dec 17 2018 Marian Csontos <mcsontos@redhat.com> - 7:2.02.180-10.el7_6.3
- Fix component detection for MD RAID version 1.0 and 0.90.
- Use sync io if async io_setup fails, or when use_aio=0 is set in config.
- Fix dmstats report printing no output.

* Wed Oct 31 2018 Marian Csontos <mcsontos@redhat.com> - 7:2.02.180-10.el7_6.2
- Fix possible write beyond metadata area.


Loading…
Cancel
Save