mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
Clean-up: Replace 'lv_is_active' with more correct/specific variants
There are places where 'lv_is_active' was being used where it was more correct to use 'lv_is_active_locally'. For example, when checking for the existance of a kernel instance before asking for its status. Most of the time these would work correctly. (RAID is only allowed on non-clustered VGs at the moment, which means that 'lv_is_active' and 'lv_is_active_locally' would give the same result.) However, it is more correct to use the proper variant and it helps with future scenarios where targets might be allowed exclusively (or clustered) in a cluster VG.
This commit is contained in:
parent
b3b551a93e
commit
06ac797f42
@ -1,5 +1,6 @@
|
||||
Version 2.02.99 -
|
||||
===================================
|
||||
Replace 'lv_is_active' with more correct/specific variants (e.g. *_locally).
|
||||
Refuse to init a snapshot merge in lvconvert if there's no kernel support.
|
||||
Fix exported symbols regex for non-GNU busybox sed.
|
||||
Accept --yes in all commands so test scripts can be simpler.
|
||||
|
@ -818,7 +818,7 @@ int lv_raid_dev_health(const struct logical_volume *lv, char **dev_health)
|
||||
log_debug_activation("Checking raid device health for LV %s/%s",
|
||||
lv->vg->name, lv->name);
|
||||
|
||||
if (!lv_is_active(lv))
|
||||
if (!lv_is_active_locally(lv))
|
||||
return 0;
|
||||
|
||||
if (!(dm = dev_manager_create(lv->vg->cmd, lv->vg->name, 1)))
|
||||
@ -850,7 +850,7 @@ int lv_raid_mismatch_count(const struct logical_volume *lv, uint64_t *cnt)
|
||||
log_debug_activation("Checking raid mismatch count for LV %s/%s",
|
||||
lv->vg->name, lv->name);
|
||||
|
||||
if (!lv_is_active(lv))
|
||||
if (!lv_is_active_locally(lv))
|
||||
return_0;
|
||||
|
||||
if (!(dm = dev_manager_create(lv->vg->cmd, lv->vg->name, 1)))
|
||||
@ -881,7 +881,7 @@ int lv_raid_sync_action(const struct logical_volume *lv, char **sync_action)
|
||||
log_debug_activation("Checking raid sync_action for LV %s/%s",
|
||||
lv->vg->name, lv->name);
|
||||
|
||||
if (!lv_is_active(lv))
|
||||
if (!lv_is_active_locally(lv))
|
||||
return_0;
|
||||
|
||||
if (!(dm = dev_manager_create(lv->vg->cmd, lv->vg->name, 1)))
|
||||
@ -907,7 +907,7 @@ int lv_raid_message(const struct logical_volume *lv, const char *msg)
|
||||
struct dev_manager *dm;
|
||||
struct dm_status_raid *status;
|
||||
|
||||
if (!lv_is_active(lv)) {
|
||||
if (!lv_is_active_locally(lv)) {
|
||||
log_error("Unable to send message to an inactive logical volume.");
|
||||
return 0;
|
||||
}
|
||||
|
@ -393,8 +393,11 @@ static int _lv_raid_image_in_sync(const struct logical_volume *lv)
|
||||
char *raid_health;
|
||||
struct lv_segment *raid_seg;
|
||||
|
||||
/* If the LV is not active, it doesn't make sense to check status */
|
||||
if (!lv_is_active(lv))
|
||||
/*
|
||||
* If the LV is not active locally,
|
||||
* it doesn't make sense to check status
|
||||
*/
|
||||
if (!lv_is_active_locally(lv))
|
||||
return 0; /* Assume not in-sync */
|
||||
|
||||
if (!(lv->status & RAID_IMAGE)) {
|
||||
@ -452,8 +455,11 @@ static int _lv_raid_healthy(const struct logical_volume *lv)
|
||||
char *raid_health;
|
||||
struct lv_segment *raid_seg;
|
||||
|
||||
/* If the LV is not active, it doesn't make sense to check status */
|
||||
if (!lv_is_active(lv))
|
||||
/*
|
||||
* If the LV is not active locally,
|
||||
* it doesn't make sense to check status
|
||||
*/
|
||||
if (!lv_is_active_locally(lv))
|
||||
return 1; /* assume healthy */
|
||||
|
||||
if (!lv_is_raid_type(lv)) {
|
||||
|
@ -2906,8 +2906,8 @@ int lv_extend(struct logical_volume *lv,
|
||||
(lv->status & LV_NOTSYNCED)) {
|
||||
percent_t sync_percent = PERCENT_INVALID;
|
||||
|
||||
if (!lv_is_active(lv)) {
|
||||
log_error("%s/%s is not active."
|
||||
if (!lv_is_active_locally(lv)) {
|
||||
log_error("%s/%s is not active locally."
|
||||
" Unable to get sync percent.",
|
||||
lv->vg->name, lv->name);
|
||||
/* FIXME Support --force */
|
||||
|
@ -1714,6 +1714,10 @@ int remove_mirror_log(struct cmd_context *cmd,
|
||||
log_error("Unable to determine mirror sync status.");
|
||||
return 0;
|
||||
}
|
||||
} else if (lv_is_active(lv)) {
|
||||
log_error("Unable to determine sync status of"
|
||||
" remotely active mirror, %s", lv->name);
|
||||
return 0;
|
||||
} else if (vg_is_clustered(vg)) {
|
||||
log_error("Unable to convert the log of an inactive "
|
||||
"cluster mirror, %s", lv->name);
|
||||
|
@ -84,7 +84,7 @@ static int _activate_sublv_preserving_excl(struct logical_volume *top_lv,
|
||||
|
||||
/* If top RAID was EX, use EX */
|
||||
if (lv_is_active_exclusive_locally(top_lv)) {
|
||||
if (!activate_lv_excl(cmd, sub_lv))
|
||||
if (!activate_lv_excl_local(cmd, sub_lv))
|
||||
return_0;
|
||||
} else {
|
||||
if (!activate_lv(cmd, sub_lv))
|
||||
@ -226,7 +226,7 @@ static int _raid_remove_top_layer(struct logical_volume *lv,
|
||||
*/
|
||||
static int _clear_lv(struct logical_volume *lv)
|
||||
{
|
||||
int was_active = lv_is_active(lv);
|
||||
int was_active = lv_is_active_locally(lv);
|
||||
|
||||
if (test_mode())
|
||||
return 1;
|
||||
@ -1579,9 +1579,10 @@ int lv_raid_replace(struct logical_volume *lv,
|
||||
dm_list_init(&new_meta_lvs);
|
||||
dm_list_init(&new_data_lvs);
|
||||
|
||||
if (!lv_is_active(lv)) {
|
||||
log_error("%s/%s must be active to perform this operation.",
|
||||
lv->vg->name, lv->name);
|
||||
if (!lv_is_active_locally(lv)) {
|
||||
log_error("%s/%s must be active %sto perform this operation.",
|
||||
lv->vg->name, lv->name,
|
||||
vg_is_clustered(lv->vg) ? "locally " : "");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1681,9 +1681,10 @@ static int lvconvert_raid(struct logical_volume *lv, struct lvconvert_params *lp
|
||||
return lv_raid_replace(lv, lp->replace_pvh, lp->pvh);
|
||||
|
||||
if (arg_count(cmd, repair_ARG)) {
|
||||
if (!lv_is_active(lv)) {
|
||||
log_error("%s/%s must be active to perform"
|
||||
"this operation.", lv->vg->name, lv->name);
|
||||
if (!lv_is_active_locally(lv)) {
|
||||
log_error("%s/%s must be active %sto perform"
|
||||
"this operation.", lv->vg->name, lv->name,
|
||||
vg_is_clustered(lv->vg) ? "locally " : "");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user