summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Snitzer <snitzer@redhat.com>2010-01-05 21:07:31 +0000
committerMike Snitzer <snitzer@redhat.com>2010-01-05 21:07:31 +0000
commitdf13cf08d5d0606452462109fd4f0d510bcac6c6 (patch)
tree1d6ff6d96839402b7d0047db52e38cc910a014c6
parentb7eb2ad04de417381e8397245e7273864458a934 (diff)
downloadlvm2-df13cf08d5d0606452462109fd4f0d510bcac6c6.tar.gz
lvm2-df13cf08d5d0606452462109fd4f0d510bcac6c6.tar.xz
lvm2-df13cf08d5d0606452462109fd4f0d510bcac6c6.zip
Add missing 'stack;' for all suspend_lv and resume_lv callers.
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
-rw-r--r--lib/locking/locking.c6
-rw-r--r--lib/metadata/lv_manip.c3
-rw-r--r--lib/metadata/mirror.c5
-rw-r--r--tools/lvchange.c6
-rw-r--r--tools/lvconvert.c3
-rw-r--r--tools/lvresize.c3
-rw-r--r--tools/pvmove.c21
-rw-r--r--tools/toollib.c13
8 files changed, 43 insertions, 17 deletions
diff --git a/lib/locking/locking.c b/lib/locking/locking.c
index e7d8fc8d..a131eb57 100644
--- a/lib/locking/locking.c
+++ b/lib/locking/locking.c
@@ -454,7 +454,8 @@ int resume_lvs(struct cmd_context *cmd, struct dm_list *lvs)
struct lv_list *lvl;
dm_list_iterate_items(lvl, lvs)
- resume_lv(cmd, lvl->lv);
+ if (!resume_lv(cmd, lvl->lv))
+ stack;
return 1;
}
@@ -470,7 +471,8 @@ int suspend_lvs(struct cmd_context *cmd, struct dm_list *lvs)
log_error("Failed to suspend %s", lvl->lv->name);
dm_list_uniterate(lvh, lvs, &lvl->list) {
lvl = dm_list_item(lvh, struct lv_list);
- resume_lv(cmd, lvl->lv);
+ if (!resume_lv(cmd, lvl->lv))
+ stack;
}
return 0;
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index 84ad6390..b49a2113 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -1828,7 +1828,8 @@ int lv_rename(struct cmd_context *cmd, struct logical_volume *lv,
* (resume of snapshot resumes origin too)
*/
dm_list_iterate_back_items(lvlp, &lvs_changed)
- resume_lv(cmd, lvlp->lv);
+ if (!resume_lv(cmd, lvlp->lv))
+ stack;
out:
backup(vg);
return r;
diff --git a/lib/metadata/mirror.c b/lib/metadata/mirror.c
index e963d2dd..b5578f1a 100644
--- a/lib/metadata/mirror.c
+++ b/lib/metadata/mirror.c
@@ -615,8 +615,9 @@ static int _remove_mirror_images(struct logical_volume *lv,
log_error("Problem suspending temporary LV %s", temp_layer_lv->name);
if (!vg_commit(mirrored_seg->lv->vg)) {
- resume_lv(mirrored_seg->lv->vg->cmd, mirrored_seg->lv);
- return 0;
+ if (!resume_lv(mirrored_seg->lv->vg->cmd, mirrored_seg->lv))
+ stack;
+ return_0;
}
log_very_verbose("Updating \"%s\" in kernel", mirrored_seg->lv->name);
diff --git a/tools/lvchange.c b/tools/lvchange.c
index f01d560a..11e128a5 100644
--- a/tools/lvchange.c
+++ b/tools/lvchange.c
@@ -64,7 +64,8 @@ static int lvchange_permission(struct cmd_context *cmd,
}
if (!vg_commit(lv->vg)) {
- resume_lv(cmd, lv);
+ if (!resume_lv(cmd, lv))
+ stack;
goto_out;
}
@@ -402,7 +403,8 @@ static int lvchange_readahead(struct cmd_context *cmd,
}
if (!vg_commit(lv->vg)) {
- resume_lv(cmd, lv);
+ if (!resume_lv(cmd, lv))
+ stack;
goto_out;
}
diff --git a/tools/lvconvert.c b/tools/lvconvert.c
index b179f601..f1a430da 100644
--- a/tools/lvconvert.c
+++ b/tools/lvconvert.c
@@ -796,7 +796,8 @@ static int _lvconvert_mirrors(struct cmd_context *cmd, struct logical_volume *lv
}
if (!vg_commit(lv->vg)) {
- resume_lv(cmd, lv);
+ if (!resume_lv(cmd, lv))
+ stack;
goto_out;
}
diff --git a/tools/lvresize.c b/tools/lvresize.c
index 5adaf3ce..395d105a 100644
--- a/tools/lvresize.c
+++ b/tools/lvresize.c
@@ -638,7 +638,8 @@ static int _lvresize(struct cmd_context *cmd, struct volume_group *vg,
if (!vg_commit(vg)) {
stack;
- resume_lv(cmd, lock_lv);
+ if (!resume_lv(cmd, lock_lv))
+ stack;
backup(vg);
return ECMD_FAILED;
}
diff --git a/tools/pvmove.c b/tools/pvmove.c
index 5b3a2dcd..fff60435 100644
--- a/tools/pvmove.c
+++ b/tools/pvmove.c
@@ -302,7 +302,8 @@ static int _update_metadata(struct cmd_context *cmd, struct volume_group *vg,
/* Suspend mirrors on subsequent calls */
if (!first_time) {
if (!suspend_lv(cmd, lv_mirr)) {
- resume_lvs(cmd, lvs_changed);
+ if (!resume_lvs(cmd, lvs_changed))
+ stack;
vg_revert(vg);
goto_out;
}
@@ -312,8 +313,10 @@ static int _update_metadata(struct cmd_context *cmd, struct volume_group *vg,
if (!vg_commit(vg)) {
log_error("ABORTING: Volume group metadata update failed.");
if (!first_time)
- resume_lv(cmd, lv_mirr);
- resume_lvs(cmd, lvs_changed);
+ if (!resume_lv(cmd, lv_mirr))
+ stack;
+ if (!resume_lvs(cmd, lvs_changed))
+ stack;
goto out;
}
@@ -339,7 +342,8 @@ static int _update_metadata(struct cmd_context *cmd, struct volume_group *vg,
} else if (!resume_lv(cmd, lv_mirr)) {
log_error("Unable to reactivate logical volume \"%s\"",
lv_mirr->name);
- resume_lvs(cmd, lvs_changed);
+ if (!resume_lvs(cmd, lvs_changed))
+ stack;
goto out;
}
@@ -513,8 +517,10 @@ static int _finish_pvmove(struct cmd_context *cmd, struct volume_group *vg,
log_error("ABORTING: Failed to write new data locations "
"to disk.");
vg_revert(vg);
- resume_lv(cmd, lv_mirr);
- resume_lvs(cmd, lvs_changed);
+ if (!resume_lv(cmd, lv_mirr))
+ stack;
+ if (!resume_lvs(cmd, lvs_changed))
+ stack;
return 0;
}
@@ -526,7 +532,8 @@ static int _finish_pvmove(struct cmd_context *cmd, struct volume_group *vg,
}
/* Unsuspend LVs */
- resume_lvs(cmd, lvs_changed);
+ if (!resume_lvs(cmd, lvs_changed))
+ stack;
/* Deactivate mirror LV */
if (!deactivate_lv(cmd, lv_mirr)) {
diff --git a/tools/toollib.c b/tools/toollib.c
index fce399b5..841acfee 100644
--- a/tools/toollib.c
+++ b/tools/toollib.c
@@ -1251,7 +1251,18 @@ int vgcreate_params_set_from_args(struct cmd_context *cmd,
int lv_refresh(struct cmd_context *cmd, struct logical_volume *lv)
{
- return suspend_lv(cmd, lv) && resume_lv(cmd, lv);
+ int r = 0;
+
+ r = suspend_lv(cmd, lv);
+ if (!r)
+ goto_out;
+
+ r = resume_lv(cmd, lv);
+ if (!r)
+ goto_out;
+
+out:
+ return r;
}
int vg_refresh_visible(struct cmd_context *cmd, struct volume_group *vg)