summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2019-10-31 12:10:00 +0100
committerZdenek Kabelac <zkabelac@redhat.com>2019-10-31 13:00:01 +0100
commit4b7bcf3ed4b5e427984bd7883238e681405edf5f (patch)
tree8099cd1ee2b80fa26387c641204e570cd417f72b
parentcf426744aef84d993b95926b23489f55f9a25838 (diff)
downloadlvm2-4b7bcf3ed4b5e427984bd7883238e681405edf5f.tar.gz
mirror: remove unused code
-rw-r--r--lib/metadata/mirror.c157
1 files changed, 0 insertions, 157 deletions
diff --git a/lib/metadata/mirror.c b/lib/metadata/mirror.c
index 6cd88cb4c..411079a3e 100644
--- a/lib/metadata/mirror.c
+++ b/lib/metadata/mirror.c
@@ -1176,163 +1176,6 @@ int collapse_mirrored_lv(struct logical_volume *lv)
return 1;
}
-#if 0
-/* FIXME: reconfigure_mirror_images: remove this code? */
-static int _get_mirror_fault_policy(struct cmd_context *cmd __attribute__((unused)),
- int log_policy)
-{
- const char *policy = NULL;
-/*
- if (log_policy)
- policy = find_config_tree_str(cmd, activation_mirror_log_fault_policy_CFG);
- else {
- policy = find_config_tree_str(cmd, activation_mirror_image_fault_policy_CFG);
- if (!policy)
- policy = find_config_tree_str(cmd, activation_mirror_device_fault_policy_CFG);
- }
-*/
- if (!strcmp(policy, "remove"))
- return MIRROR_REMOVE;
- else if (!strcmp(policy, "allocate"))
- return MIRROR_ALLOCATE;
- else if (!strcmp(policy, "allocate_anywhere"))
- return MIRROR_ALLOCATE_ANYWHERE;
-
- if (log_policy)
- log_error("Bad activation/mirror_log_fault_policy");
- else
- log_error("Bad activation/mirror_device_fault_policy");
-
- return MIRROR_REMOVE;
-}
-
-static int _get_mirror_log_fault_policy(struct cmd_context *cmd)
-{
- return _get_mirror_fault_policy(cmd, 1);
-}
-
-static int _get_mirror_device_fault_policy(struct cmd_context *cmd)
-{
- return _get_mirror_fault_policy(cmd, 0);
-}
-
-/*
- * replace_mirror_images
- * @mirrored_seg: segment (which may be linear now) to restore
- * @num_mirrors: number of copies we should end up with
- * @replace_log: replace log if not present
- * @in_sync: was the original mirror in-sync?
- *
- * in_sync will be set to 0 if new mirror devices are being added
- * In other words, it is only useful if the log (and only the log)
- * is being restored.
- *
- * Returns: 0 on failure, 1 on reconfig, -1 if no reconfig done
- */
-static int _replace_mirror_images(struct lv_segment *mirrored_seg,
- uint32_t num_mirrors,
- int log_policy, int in_sync)
-{
- int r = -1;
- struct logical_volume *lv = mirrored_seg->lv;
-
- /* FIXME: Use lvconvert rather than duplicating its code */
-
- if (mirrored_seg->area_count < num_mirrors) {
- log_warn("WARNING: Failed to replace mirror device in %s.",
- display_lvname(mirrored_seg->lv);
-
- if ((mirrored_seg->area_count > 1) && !mirrored_seg->log_lv)
- log_warn("WARNING: Use 'lvconvert -m %d %s --corelog' to replace failed devices.",
- num_mirrors - 1, display_lvname(lv));
- else
- log_warn("WARNING: Use 'lvconvert -m %d %s' to replace failed devices.",
- num_mirrors - 1, display_lvname(lv));
- r = 0;
-
- /* REMEMBER/FIXME: set in_sync to 0 if a new mirror device was added */
- in_sync = 0;
- }
-
- /*
- * FIXME: right now, we ignore the allocation policy specified to
- * allocate the new log.
- */
- if ((mirrored_seg->area_count > 1) && !mirrored_seg->log_lv &&
- (log_policy != MIRROR_REMOVE)) {
- log_warn("WARNING: Failed to replace mirror log device in %s.",
- display_lvname(lv));
-
- log_warn("WARNING: Use 'lvconvert -m %d %s' to replace failed devices.",
- mirrored_seg->area_count - 1 , display_lvname(lv));
- r = 0;
- }
-
- return r;
-}
-
-int reconfigure_mirror_images(struct lv_segment *mirrored_seg, uint32_t num_mirrors,
- struct dm_list *removable_pvs, unsigned remove_log)
-{
- int r;
- int in_sync;
- int log_policy, dev_policy;
- uint32_t old_num_mirrors = mirrored_seg->area_count;
- int had_log = (mirrored_seg->log_lv) ? 1 : 0;
-
- /* was the mirror in-sync before problems? */
- in_sync = _mirrored_lv_in_sync(mirrored_seg->lv);
-
- /*
- * While we are only removing devices, we can have sync set.
- * Setting this is only useful if we are moving to core log
- * otherwise the disk log will contain the sync information
- */
- init_mirror_in_sync(in_sync);
-
- r = _remove_mirror_images(mirrored_seg->lv, old_num_mirrors - num_mirrors,
- is_mirror_image_removable, removable_pvs,
- remove_log, 0, NULL, 0);
- if (!r)
- /* Unable to remove bad devices */
- return 0;
-
- log_warn("WARNING: Bad device removed from mirror volume %s.",
- display_lvname(mirrored_seg->lv));
-
- log_policy = _get_mirror_log_fault_policy(mirrored_seg->lv->vg->cmd);
- dev_policy = _get_mirror_device_fault_policy(mirrored_seg->lv->vg->cmd);
-
- r = _replace_mirror_images(mirrored_seg,
- (dev_policy != MIRROR_REMOVE) ?
- old_num_mirrors : num_mirrors,
- log_policy, in_sync);
-
- if (!r)
- /* Failed to replace device(s) */
- log_warn("WARNING: Unable to find substitute device for mirror volume %s.",
- display_lvname(mirrored_seg->lv));
- else if (r > 0)
- /* Success in replacing device(s) */
- log_warn("WARNING: Mirror volume %s restored - substitute for failed device found.",
- display_lvname(mirrored_seg->lv));
- else
- /* Bad device removed, but not replaced because of policy */
- if (mirrored_seg->area_count == 1) {
- log_warn("WARNING: Mirror volume %s converted to linear due to device failure.",
- display_lvname(mirrored_seg->lv);
- } else if (had_log && !mirrored_seg->log_lv) {
- log_warn("WARNING: Mirror volume %s disk log removed due to device failure.",
- display_lvname(mirrored_seg->lv));
- }
- /*
- * If we made it here, we at least removed the bad device.
- * Consider this success.
- */
- return 1;
-}
-#endif
-
static int _create_mimage_lvs(struct alloc_handle *ah,
uint32_t num_mirrors,
uint32_t stripes,