stable-2.02 - pvmove: add missing synchronization
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=e5cdb114a6aa5d211e2...
Commit: e5cdb114a6aa5d211e25a0919a28968d64e7cf01
Parent: 73d1646a0049d43edab367e4eb1d9bdcae9071e0
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue Aug 20 12:23:08 2019 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Aug 20 12:59:05 2019 +0200
pvmove: add missing synchronization
Between 'resume' and 'remove' we need to wait for udev to synchronize,
otherwise udev may 'skip' resume event processing if the udev node
is already gone.
---
WHATS_NEW | 1 +
tools/pvmove_poll.c | 2 ++
2 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/WHATS_NEW b/WHATS_NEW
index 0dfd40d..fa8508f 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.02.186 -
================================
+ Add missing device synchronization point before removing pvmove node.
Correctly set read_ahead for LVs when pvmove is finished.
Fix metadata writes from corrupting with large physical block size.
Report no_discard_passdown for cache LVs with lvs -o+kernel_discards.
diff --git a/tools/pvmove_poll.c b/tools/pvmove_poll.c
index e50747c..d379596 100644
--- a/tools/pvmove_poll.c
+++ b/tools/pvmove_poll.c
@@ -97,6 +97,8 @@ int pvmove_finish(struct cmd_context *cmd, struct volume_group *vg,
if (!lv_update_and_reload(lv_mirr))
return_0;
+ sync_local_dev_names(cmd);
+
/* Deactivate mirror LV */
if (!deactivate_lv(cmd, lv_mirr)) {
log_error("ABORTING: Unable to deactivate temporary logical "
4 years, 8 months
stable-2.02 - pvmove: correcting read_ahead setting
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=73d1646a0049d43edab...
Commit: 73d1646a0049d43edab367e4eb1d9bdcae9071e0
Parent: 881f49a7676aae2fd35acc390d9882a2e950932c
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue Aug 20 12:30:25 2019 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Aug 20 12:59:05 2019 +0200
pvmove: correcting read_ahead setting
When pvmove is finished, we do a tricky operation since we try to
resume multiple different device that were all joined into 1 big tree.
Currently we use the infromation from existing live DM table,
where we can get list of all holders of pvmove device.
We look for these nodes (by uuid) in new metadata, and we do now a full
regular device add into dm tree structure. All devices should be
already PRELOAD with correct table before entering suspend state,
however for correctly working readahead we need to put correct info
also into RESUME tree. Since table are preloaded, the same table
is skip and resume, but correct read ahead is now set.
---
WHATS_NEW | 1 +
lib/activate/dev_manager.c | 47 +++++++++++++++++++++++++++++++------------
2 files changed, 35 insertions(+), 13 deletions(-)
diff --git a/WHATS_NEW b/WHATS_NEW
index d30e5cd..0dfd40d 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.02.186 -
================================
+ Correctly set read_ahead for LVs when pvmove is finished.
Fix metadata writes from corrupting with large physical block size.
Report no_discard_passdown for cache LVs with lvs -o+kernel_discards.
Prevent shared active mirror LVs with lvmlockd.
diff --git a/lib/activate/dev_manager.c b/lib/activate/dev_manager.c
index 24455b3..3e5c0a8 100644
--- a/lib/activate/dev_manager.c
+++ b/lib/activate/dev_manager.c
@@ -1809,10 +1809,20 @@ static uint16_t _get_udev_flags(struct dev_manager *dm, const struct logical_vol
static int _add_lv_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
const struct logical_volume *lv, int origin_only);
-
+static int _add_new_lv_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
+ const struct logical_volume *lv,
+ struct lv_activate_opts *laopts,
+ const char *layer);
+/*
+ * Check for device holders (ATM used only for removed pvmove targets)
+ * and add them into dtree structures.
+ * When 'laopts != NULL' add them as new nodes - which also corrects READ_AHEAD.
+ * Note: correct table are already explicitelly PRELOADED.
+ */
static int _check_holder(struct dev_manager *dm, struct dm_tree *dtree,
- const struct logical_volume *lv, uint32_t major,
- const char *d_name)
+ const struct logical_volume *lv,
+ struct lv_activate_opts *laopts,
+ uint32_t major, const char *d_name)
{
const char *default_uuid_prefix = dm_uuid_prefix();
const size_t default_uuid_prefix_len = strlen(default_uuid_prefix);
@@ -1863,8 +1873,11 @@ static int _check_holder(struct dev_manager *dm, struct dm_tree *dtree,
log_debug_activation("Found holder %s of %s.",
display_lvname(lv_det),
display_lvname(lv));
- if (!_add_lv_to_dtree(dm, dtree, lv_det, 0))
- goto_out;
+ if (!laopts) {
+ if (!_add_lv_to_dtree(dm, dtree, lv_det, 0))
+ goto_out;
+ } else if (!_add_new_lv_to_dtree(dm, dtree, lv_det, laopts, 0))
+ goto_out;
}
}
@@ -1881,7 +1894,9 @@ out:
* i.e. PVMOVE is being finished and final table is going to be resumed.
*/
static int _add_holders_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
- const struct logical_volume *lv, struct dm_info *info)
+ const struct logical_volume *lv,
+ struct lv_activate_opts *laopts,
+ const struct dm_info *info)
{
const char *sysfs_dir = dm_sysfs_dir();
char sysfs_path[PATH_MAX];
@@ -1904,7 +1919,7 @@ static int _add_holders_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
while ((dirent = readdir(d)))
/* Expects minor is added to 'dm-' prefix */
if (!strncmp(dirent->d_name, "dm-", 3) &&
- !_check_holder(dm, dtree, lv, info->major, dirent->d_name))
+ !_check_holder(dm, dtree, lv, laopts, info->major, dirent->d_name))
goto_out;
r = 1;
@@ -1976,7 +1991,7 @@ static int _add_dev_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
*/
if (info.exists && !lv_is_pvmove(lv) &&
!strchr(lv->name, '_') && !strncmp(lv->name, "pvmove", 6))
- if (!_add_holders_to_dtree(dm, dtree, lv, &info))
+ if (!_add_holders_to_dtree(dm, dtree, lv, NULL, &info))
return_0;
return 1;
@@ -2719,11 +2734,6 @@ static int _add_target_to_dtree(struct dev_manager *dm,
&dm->pvmove_mirror_count);
}
-static int _add_new_lv_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
- const struct logical_volume *lv,
- struct lv_activate_opts *laopts,
- const char *layer);
-
static int _add_new_external_lv_to_dtree(struct dev_manager *dm,
struct dm_tree *dtree,
struct logical_volume *external_lv,
@@ -3058,6 +3068,17 @@ static int _add_new_lv_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
!_pool_register_callback(dm, dnode, lv))
return_0;
+ /*
+ * Update tables for ANY PVMOVE holders for active LV where the name starts with 'pvmove',
+ * but it's not anymore PVMOVE LV and also it's not a PVMOVE _mimage LV.
+ * When resume happens, tables MUST be already preloaded with correct entries!
+ * (since we can't preload different table while devices are suspended)
+ */
+ if (!lv_is_pvmove(lv) && !strncmp(lv->name, "pvmove", 6) && !strchr(lv->name, '_') &&
+ (dinfo = _cached_dm_info(dm->mem, dtree, lv, NULL)))
+ if (!_add_holders_to_dtree(dm, dtree, lv, laopts, dinfo))
+ return_0;
+
if (read_ahead == DM_READ_AHEAD_AUTO) {
/* we need RA at least twice a whole stripe - see the comment in md/raid0.c */
read_ahead = max_stripe_size * 2;
4 years, 8 months
master - dmsetup: debug print
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=a18f562913aaebf4587...
Commit: a18f562913aaebf4587531fb40082718ec504f7a
Parent: 30a98e4d6710a543692d40d11428ae4baea11b7b
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Aug 16 23:49:38 2019 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Aug 20 12:50:44 2019 +0200
dmsetup: debug print
Udev debugging is a bit tricky, so to more easily pair cookie ID,
which is the lowest 16 bit - print cookie as hexa number.
This simplify pairing of processed cookies while the 'higher bit flags'
are changed for the same cookie.
---
WHATS_NEW_DM | 1 +
libdm/dm-tools/dmsetup.c | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/WHATS_NEW_DM b/WHATS_NEW_DM
index 2c0c7ec..60a2b53 100644
--- a/WHATS_NEW_DM
+++ b/WHATS_NEW_DM
@@ -1,5 +1,6 @@
Version 1.02.165 -
=================================
+ Add debug of dmsetup udevcomplete with hexa print DM_COOKIE_COMPLETED.
Fix versioning of dm_stats_create_region and dm_stats_create_region.
Version 1.02.163 - 15th June 2019
diff --git a/libdm/dm-tools/dmsetup.c b/libdm/dm-tools/dmsetup.c
index 928b599..a38df6b 100644
--- a/libdm/dm-tools/dmsetup.c
+++ b/libdm/dm-tools/dmsetup.c
@@ -1695,6 +1695,7 @@ static int _udevcomplete(CMD_ARGS)
if (!(cookie = _get_cookie_value(argv[0])))
return_0;
+ printf("DM_COOKIE_COMPLETED=0x%-10x", cookie);
/*
* Strip flags from the cookie and use cookie magic instead.
* If the cookie has non-zero prefix and the base is zero then
4 years, 8 months
master - activation: add synchronization point
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=30a98e4d6710a543692...
Commit: 30a98e4d6710a543692d40d11428ae4baea11b7b
Parent: 0bdd6d6240251996694a8581432f726e5442c4a2
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Aug 16 23:49:59 2019 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Aug 20 12:46:11 2019 +0200
activation: add synchronization point
Resuming of 'error' table entry followed with it's dirrect removal
is now troublesame with latest udev as it may skip processing of
udev rules for already 'dropped' device nodes.
As we cannot 'synchronize' with udev while we know we have devices
in suspended state - rework 'cleanup' so it collects nodes
for removal into pending_delete list and process the list with
synchronization once we are without any suspended nodes.
---
WHATS_NEW | 1 +
lib/activate/dev_manager.c | 20 ++++++++++++--------
2 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/WHATS_NEW b/WHATS_NEW
index 2c1bc16..0b48e03 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.03.06 -
================================
+ Synchronize with udev when dropping snapshot.
Add missing device synchronization point before removing pvmove node.
Correctly set read_ahead for LVs when pvmove is finished.
Remove unsupported OPTIONS+="event_timeout" udev rule from 11-dm-lvm.rules.
diff --git a/lib/activate/dev_manager.c b/lib/activate/dev_manager.c
index b218225..3168e88 100644
--- a/lib/activate/dev_manager.c
+++ b/lib/activate/dev_manager.c
@@ -3579,13 +3579,6 @@ static int _clean_tree(struct dev_manager *dm, struct dm_tree_node *root, const
const char *name, *uuid;
struct dm_str_list *dl;
- /* Deactivate any tracked pending delete nodes */
- dm_list_iterate_items(dl, &dm->pending_delete) {
- log_debug_activation("Deleting tracked UUID %s.", dl->str);
- if (!dm_tree_deactivate_children(root, dl->str, strlen(dl->str)))
- return_0;
- }
-
while ((child = dm_tree_next_child(&handle, root, 0))) {
if (!(name = dm_tree_node_get_name(child)))
continue;
@@ -3606,10 +3599,21 @@ static int _clean_tree(struct dev_manager *dm, struct dm_tree_node *root, const
if (non_toplevel_tree_dlid && !strcmp(non_toplevel_tree_dlid, uuid))
continue;
- if (!dm_tree_deactivate_children(root, uuid, strlen(uuid)))
+ if (!str_list_add(dm->mem, &dm->pending_delete, uuid))
return_0;
}
+ /* Deactivate any tracked pending delete nodes */
+ if (!dm_list_empty(&dm->pending_delete) && !dm_get_suspended_counter()) {
+ fs_unlock();
+ dm_tree_set_cookie(root, fs_get_cookie());
+ dm_list_iterate_items(dl, &dm->pending_delete) {
+ log_debug_activation("Deleting tracked UUID %s.", dl->str);
+ if (!dm_tree_deactivate_children(root, dl->str, strlen(dl->str)))
+ return_0;
+ }
+ }
+
return 1;
}
4 years, 8 months
master - pvmove: add missing synchronization
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=0bdd6d6240251996694...
Commit: 0bdd6d6240251996694a8581432f726e5442c4a2
Parent: 0451225c1997273ffaa36c3eb595eae7737b7dda
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue Aug 20 12:23:08 2019 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Aug 20 12:44:39 2019 +0200
pvmove: add missing synchronization
Between 'resume' and 'remove' we need to wait for udev to synchronize,
otherwise udev may 'skip' resume event processing if the udev node
is already gone.
---
WHATS_NEW | 1 +
tools/pvmove_poll.c | 2 ++
2 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/WHATS_NEW b/WHATS_NEW
index 91543a7..2c1bc16 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.03.06 -
================================
+ Add missing device synchronization point before removing pvmove node.
Correctly set read_ahead for LVs when pvmove is finished.
Remove unsupported OPTIONS+="event_timeout" udev rule from 11-dm-lvm.rules.
Prevent creating VGs with PVs with different logical block sizes.
diff --git a/tools/pvmove_poll.c b/tools/pvmove_poll.c
index e50747c..d379596 100644
--- a/tools/pvmove_poll.c
+++ b/tools/pvmove_poll.c
@@ -97,6 +97,8 @@ int pvmove_finish(struct cmd_context *cmd, struct volume_group *vg,
if (!lv_update_and_reload(lv_mirr))
return_0;
+ sync_local_dev_names(cmd);
+
/* Deactivate mirror LV */
if (!deactivate_lv(cmd, lv_mirr)) {
log_error("ABORTING: Unable to deactivate temporary logical "
4 years, 8 months
master - pvmove: correcting read_ahead setting
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=0451225c1997273ffaa...
Commit: 0451225c1997273ffaa36c3eb595eae7737b7dda
Parent: a53c157db0110e21aaa9971f0fec7ac19afe91dd
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue Aug 20 12:30:25 2019 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Aug 20 12:37:32 2019 +0200
pvmove: correcting read_ahead setting
When pvmove is finished, we do a tricky operation since we try to
resume multiple different device that were all joined into 1 big tree.
Currently we use the infromation from existing live DM table,
where we can get list of all holders of pvmove device.
We look for these nodes (by uuid) in new metadata, and we do now a full
regular device add into dm tree structure. All devices should be
already PRELOAD with correct table before entering suspend state,
however for correctly working readahead we need to put correct info
also into RESUME tree. Since table are preloaded, the same table
is skip and resume, but correct read ahead is now set.
---
WHATS_NEW | 1 +
lib/activate/dev_manager.c | 47 +++++++++++++++++++++++++++++++------------
2 files changed, 35 insertions(+), 13 deletions(-)
diff --git a/WHATS_NEW b/WHATS_NEW
index 63c3c27..91543a7 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.03.06 -
================================
+ Correctly set read_ahead for LVs when pvmove is finished.
Remove unsupported OPTIONS+="event_timeout" udev rule from 11-dm-lvm.rules.
Prevent creating VGs with PVs with different logical block sizes.
Fix metadata writes from corrupting with large physical block size.
diff --git a/lib/activate/dev_manager.c b/lib/activate/dev_manager.c
index 981f467..b218225 100644
--- a/lib/activate/dev_manager.c
+++ b/lib/activate/dev_manager.c
@@ -2034,10 +2034,20 @@ static uint16_t _get_udev_flags(struct dev_manager *dm, const struct logical_vol
static int _add_lv_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
const struct logical_volume *lv, int origin_only);
-
+static int _add_new_lv_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
+ const struct logical_volume *lv,
+ struct lv_activate_opts *laopts,
+ const char *layer);
+/*
+ * Check for device holders (ATM used only for removed pvmove targets)
+ * and add them into dtree structures.
+ * When 'laopts != NULL' add them as new nodes - which also corrects READ_AHEAD.
+ * Note: correct table are already explicitelly PRELOADED.
+ */
static int _check_holder(struct dev_manager *dm, struct dm_tree *dtree,
- const struct logical_volume *lv, uint32_t major,
- const char *d_name)
+ const struct logical_volume *lv,
+ struct lv_activate_opts *laopts,
+ uint32_t major, const char *d_name)
{
const char *default_uuid_prefix = dm_uuid_prefix();
const size_t default_uuid_prefix_len = strlen(default_uuid_prefix);
@@ -2089,8 +2099,11 @@ static int _check_holder(struct dev_manager *dm, struct dm_tree *dtree,
log_debug_activation("Found holder %s of %s.",
display_lvname(lv_det),
display_lvname(lv));
- if (!_add_lv_to_dtree(dm, dtree, lv_det, 0))
- goto_out;
+ if (!laopts) {
+ if (!_add_lv_to_dtree(dm, dtree, lv_det, 0))
+ goto_out;
+ } else if (!_add_new_lv_to_dtree(dm, dtree, lv_det, laopts, 0))
+ goto_out;
}
}
@@ -2107,7 +2120,9 @@ out:
* i.e. PVMOVE is being finished and final table is going to be resumed.
*/
static int _add_holders_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
- const struct logical_volume *lv, struct dm_info *info)
+ const struct logical_volume *lv,
+ struct lv_activate_opts *laopts,
+ const struct dm_info *info)
{
const char *sysfs_dir = dm_sysfs_dir();
char sysfs_path[PATH_MAX];
@@ -2130,7 +2145,7 @@ static int _add_holders_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
while ((dirent = readdir(d)))
/* Expects minor is added to 'dm-' prefix */
if (!strncmp(dirent->d_name, "dm-", 3) &&
- !_check_holder(dm, dtree, lv, info->major, dirent->d_name))
+ !_check_holder(dm, dtree, lv, laopts, info->major, dirent->d_name))
goto_out;
r = 1;
@@ -2202,7 +2217,7 @@ static int _add_dev_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
*/
if (info.exists && !lv_is_pvmove(lv) &&
!strchr(lv->name, '_') && !strncmp(lv->name, "pvmove", 6))
- if (!_add_holders_to_dtree(dm, dtree, lv, &info))
+ if (!_add_holders_to_dtree(dm, dtree, lv, NULL, &info))
return_0;
return 1;
@@ -3000,11 +3015,6 @@ static int _add_target_to_dtree(struct dev_manager *dm,
&dm->pvmove_mirror_count);
}
-static int _add_new_lv_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
- const struct logical_volume *lv,
- struct lv_activate_opts *laopts,
- const char *layer);
-
static int _add_new_external_lv_to_dtree(struct dev_manager *dm,
struct dm_tree *dtree,
struct logical_volume *external_lv,
@@ -3439,6 +3449,17 @@ static int _add_new_lv_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
!_pool_register_callback(dm, dnode, lv))
return_0;
+ /*
+ * Update tables for ANY PVMOVE holders for active LV where the name starts with 'pvmove',
+ * but it's not anymore PVMOVE LV and also it's not a PVMOVE _mimage LV.
+ * When resume happens, tables MUST be already preloaded with correct entries!
+ * (since we can't preload different table while devices are suspended)
+ */
+ if (!lv_is_pvmove(lv) && !strncmp(lv->name, "pvmove", 6) && !strchr(lv->name, '_') &&
+ (dinfo = _cached_dm_info(dm->mem, dtree, lv, NULL)))
+ if (!_add_holders_to_dtree(dm, dtree, lv, laopts, dinfo))
+ return_0;
+
if (read_ahead == DM_READ_AHEAD_AUTO) {
/* we need RA at least twice a whole stripe - see the comment in md/raid0.c */
read_ahead = max_stripe_size * 2;
4 years, 8 months
stable-2.02 - man lvmthin: remove nonexistent topic
by David Teigland
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=881f49a7676aae2fd35...
Commit: 881f49a7676aae2fd35acc390d9882a2e950932c
Parent: 474963573af2112467fcd6b17f42971e3178eaa8
Author: David Teigland <teigland(a)redhat.com>
AuthorDate: Mon Aug 19 14:06:32 2019 -0500
Committer: David Teigland <teigland(a)redhat.com>
CommitterDate: Mon Aug 19 14:09:43 2019 -0500
man lvmthin: remove nonexistent topic
---
man/lvmthin.7_main | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/man/lvmthin.7_main b/man/lvmthin.7_main
index 251ba12..27bad57 100644
--- a/man/lvmthin.7_main
+++ b/man/lvmthin.7_main
@@ -226,8 +226,6 @@ or vgchange to activate thin snapshots with the "k" attribute.
.SH Thin Topics
-.B Alternate syntax for specifying type thin-pool
-.br
.B Automatic pool metadata LV
.br
.B Specify devices for data and metadata LVs
4 years, 8 months
master - man lvmthin: remove nonexistent topic
by David Teigland
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=a53c157db0110e21aaa...
Commit: a53c157db0110e21aaa9971f0fec7ac19afe91dd
Parent: 4a3e707402032788e09282e0f54fdf82c8a0f8fc
Author: David Teigland <teigland(a)redhat.com>
AuthorDate: Mon Aug 19 14:06:32 2019 -0500
Committer: David Teigland <teigland(a)redhat.com>
CommitterDate: Mon Aug 19 14:06:32 2019 -0500
man lvmthin: remove nonexistent topic
---
man/lvmthin.7_main | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/man/lvmthin.7_main b/man/lvmthin.7_main
index 251ba12..27bad57 100644
--- a/man/lvmthin.7_main
+++ b/man/lvmthin.7_main
@@ -226,8 +226,6 @@ or vgchange to activate thin snapshots with the "k" attribute.
.SH Thin Topics
-.B Alternate syntax for specifying type thin-pool
-.br
.B Automatic pool metadata LV
.br
.B Specify devices for data and metadata LVs
4 years, 8 months
stable-2.02 - Revert "pvmove_poll: instrument"
by Heinz Mauelshagen
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=474963573af2112467f...
Commit: 474963573af2112467fcd6b17f42971e3178eaa8
Parent: 9e438b4bc6b9240b63fc79acfef3c77c01a848d8
Author: Heinz Mauelshagen <heinzm(a)redhat.com>
AuthorDate: Mon Aug 19 17:35:52 2019 +0200
Committer: Heinz Mauelshagen <heinzm(a)redhat.com>
CommitterDate: Mon Aug 19 17:35:52 2019 +0200
Revert "pvmove_poll: instrument"
This reverts commit fdb014f02fe67d3a8455c919516e752ec07e9b04.
Went in by mistake!
---
tools/pvmove_poll.c | 7 -------
1 files changed, 0 insertions(+), 7 deletions(-)
diff --git a/tools/pvmove_poll.c b/tools/pvmove_poll.c
index 23adf17..e50747c 100644
--- a/tools/pvmove_poll.c
+++ b/tools/pvmove_poll.c
@@ -78,28 +78,21 @@ int pvmove_update_metadata(struct cmd_context *cmd, struct volume_group *vg,
struct dm_list *lvs_changed __attribute__((unused)),
unsigned flags __attribute__((unused)))
{
-printf("%s[%u] lv_mirr->read_ahead=%d\n", __func__, __LINE__, lv_mirr->read_ahead);
if (!lv_update_and_reload(lv_mirr))
return_0;
-printf("%s[%u] lv_mirr->read_ahead=%d\n", __func__, __LINE__, lv_mirr->read_ahead);
return 1;
}
int pvmove_finish(struct cmd_context *cmd, struct volume_group *vg,
struct logical_volume *lv_mirr, struct dm_list *lvs_changed)
{
- int read_ahead = lv_mirr->read_ahead;
-
-printf("%s[%u] lv_mirr->read_ahead=%d\n", __func__, __LINE__, lv_mirr->read_ahead);
if (!dm_list_empty(lvs_changed) &&
(!_detach_pvmove_mirror(cmd, lv_mirr) ||
!replace_lv_with_error_segment(lv_mirr))) {
log_error("ABORTING: Removal of temporary mirror failed");
return 0;
}
- lv_mirr->read_ahead = read_ahead;
-printf("%s[%u] lv_mirr->read_ahead=%d\n", __func__, __LINE__, lv_mirr->read_ahead);
if (!lv_update_and_reload(lv_mirr))
return_0;
4 years, 8 months
master - configure: Fix setting of CLDFLAGS default
by Marian Csontos
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=4a3e707402032788e09...
Commit: 4a3e707402032788e09282e0f54fdf82c8a0f8fc
Parent: 9b63f590168b14d0e996f62519edb27f24ab83e2
Author: Marian Csontos <mcsontos(a)redhat.com>
AuthorDate: Mon Aug 19 14:54:43 2019 +0200
Committer: Marian Csontos <mcsontos(a)redhat.com>
CommitterDate: Mon Aug 19 15:28:01 2019 +0200
configure: Fix setting of CLDFLAGS default
---
configure | 6 +++---
configure.ac | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/configure b/configure
index ff3a59b..4c84765 100755
--- a/configure
+++ b/configure
@@ -3077,7 +3077,7 @@ if test -z "$CFLAGS"; then :
fi
case "$host_os" in
linux*)
- CLDFLAGS="${CLDFLAGS:"$LDFLAGS"} -Wl,--version-script,.export.sym"
+ CLDFLAGS="${CLDFLAGS-"$LDFLAGS"} -Wl,--version-script,.export.sym"
# equivalent to -rdynamic
ELDFLAGS="-Wl,--export-dynamic"
# FIXME Generate list and use --dynamic-list=.dlopen.sym
@@ -3098,7 +3098,7 @@ case "$host_os" in
;;
darwin*)
CFLAGS="$CFLAGS -no-cpp-precomp -fno-common"
- CLDFLAGS="${CLDFLAGS:"$LDFLAGS"}"
+ CLDFLAGS="${CLDFLAGS-"$LDFLAGS"}"
ELDFLAGS=
CLDWHOLEARCHIVE="-all_load"
CLDNOWHOLEARCHIVE=
@@ -3111,7 +3111,7 @@ case "$host_os" in
BLKDEACTIVATE=no
;;
*)
- CLDFLAGS="${CLDFLAGS:"$LDFLAGS"}"
+ CLDFLAGS="${CLDFLAGS-"$LDFLAGS"}"
;;
esac
diff --git a/configure.ac b/configure.ac
index 5da6946..830edb8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -30,7 +30,7 @@ AC_CANONICAL_TARGET([])
AS_IF([test -z "$CFLAGS"], [COPTIMISE_FLAG="-O2"])
case "$host_os" in
linux*)
- CLDFLAGS="${CLDFLAGS:"$LDFLAGS"} -Wl,--version-script,.export.sym"
+ CLDFLAGS="${CLDFLAGS-"$LDFLAGS"} -Wl,--version-script,.export.sym"
# equivalent to -rdynamic
ELDFLAGS="-Wl,--export-dynamic"
# FIXME Generate list and use --dynamic-list=.dlopen.sym
@@ -51,7 +51,7 @@ case "$host_os" in
;;
darwin*)
CFLAGS="$CFLAGS -no-cpp-precomp -fno-common"
- CLDFLAGS="${CLDFLAGS:"$LDFLAGS"}"
+ CLDFLAGS="${CLDFLAGS-"$LDFLAGS"}"
ELDFLAGS=
CLDWHOLEARCHIVE="-all_load"
CLDNOWHOLEARCHIVE=
@@ -64,7 +64,7 @@ case "$host_os" in
BLKDEACTIVATE=no
;;
*)
- CLDFLAGS="${CLDFLAGS:"$LDFLAGS"}"
+ CLDFLAGS="${CLDFLAGS-"$LDFLAGS"}"
;;
esac
4 years, 8 months