1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-08-25 13:49:28 +03:00

lvconvert: writecache fix return code

Detach function return 0 for error and 1 for success.
Add missing log errors from failing deactivation.
Add missing log error from failing synchronization.
This commit is contained in:
Zdenek Kabelac
2018-12-21 20:49:36 +01:00
parent fb85d5d024
commit 65cb8efd16

View File

@ -5165,7 +5165,7 @@ static int _lvconvert_detach_writecache(struct cmd_context *cmd,
}
if (!archive(lv->vg))
goto_bad;
return_0;
/*
* Activate LV internally since the LV needs to be active to flush.
@ -5180,17 +5180,23 @@ static int _lvconvert_detach_writecache(struct cmd_context *cmd,
return 0;
}
sync_local_dev_names(cmd);
if (!sync_local_dev_names(cmd)) {
log_error("Failed to sync local devices before detaching LV %s.",
display_lvname(lv));
return 0;
}
if (!lv_writecache_message(lv, "flush")) {
log_error("Failed to flush writecache for %s.", display_lvname(lv));
deactivate_lv(cmd, lv);
if (!deactivate_lv(cmd, lv))
log_error("Failed to deactivate %s.", display_lvname(lv));
return 0;
}
if (!_get_writecache_kernel_error(cmd, lv, &kernel_error)) {
log_error("Failed to get writecache error status for %s.", display_lvname(lv));
deactivate_lv(cmd, lv);
if (!deactivate_lv(cmd, lv))
log_error("Failed to deactivate %s.", display_lvname(lv));
return 0;
}
@ -5219,10 +5225,7 @@ static int _lvconvert_detach_writecache(struct cmd_context *cmd,
log_print_unless_silent("Logical volume %s write cache has been detached.",
display_lvname(lv));
return ECMD_PROCESSED;
bad:
return ECMD_FAILED;
return 1;
}
static int _get_one_writecache_setting(struct cmd_context *cmd, struct writecache_settings *settings,