1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00

Fix unlocking vg in some pvresize and toollib error paths.

This commit is contained in:
Zdenek Kabelac 2009-12-11 13:11:56 +00:00
parent c8d8f74188
commit 685be1dc7a
4 changed files with 11 additions and 5 deletions

View File

@ -1,5 +1,6 @@
Version 2.02.57 -
====================================
Fix unlocking vg in some pvresize and toollib error paths.
Explicitly call suspend for temporary mirror layer.
Allow use precommited metadata when a PV is missing.
Add memlock information to do_lock_lv debug output.

View File

@ -1,5 +1,6 @@
Version 1.02.41 -
====================================
Fix coredump and memory leak for 'dmsetup help -c'.
Disable udev rules for change events with DISK_RO set.
Version 1.02.40 - 19th November 2009

View File

@ -60,8 +60,12 @@ static int _pv_resize_single(struct cmd_context *cmd,
vg = vg_read_for_update(cmd, vg_name, NULL, 0);
if (vg_read_error(vg))
goto bad;
if (vg_read_error(vg)) {
vg_release(vg);
log_error("Unable to read volume group \"%s\".",
vg_name);
return 0;
}
if (!(pvl = find_pv_in_vg(vg, pv_name))) {
log_error("Unable to find \"%s\" in volume group \"%s\"",

View File

@ -315,7 +315,7 @@ int process_each_lv(struct cmd_context *cmd, int argc, char **argv,
dm_pool_strdup(cmd->mem,
lv_name + 1))) {
log_error("strlist allocation failed");
vg_release(vg);
unlock_and_release_vg(cmd, vg, vgname);
return ECMD_FAILED;
}
}
@ -367,8 +367,8 @@ int process_each_segment_in_pv(struct cmd_context *cmd,
if (!(pvl = find_pv_in_vg(vg, pv_dev_name(pv)))) {
log_error("Unable to find %s in volume group %s",
pv_dev_name(pv), vg_name);
vg_release(vg);
return ECMD_FAILED;
unlock_and_release_vg(cmd, vg, vg_name);
return ECMD_FAILED;
}
pv = pvl->pv;