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

Add some backtraces for error paths in process_each_lv

This commit is contained in:
Zdenek Kabelac 2011-02-18 15:02:25 +00:00
parent 476ef1886f
commit 0a62e0145a
2 changed files with 14 additions and 4 deletions

View File

@ -1,5 +1,6 @@
Version 2.02.85 - Version 2.02.85 -
=================================== ===================================
Add stack backtraces for error paths in process_each_lv().
Fixing some const cast gcc warnings in the code. Fixing some const cast gcc warnings in the code.
Use char* arithmetic in _text_write(), _text_read() & send_message(). Use char* arithmetic in _text_write(), _text_read() & send_message().
Fix compilation when devmapper is dissabled. Fix compilation when devmapper is dissabled.

View File

@ -169,8 +169,10 @@ int process_each_lv_in_vg(struct cmd_context *cmd,
} }
if (ret > ret_max) if (ret > ret_max)
ret_max = ret; ret_max = ret;
if (sigint_caught()) if (sigint_caught()) {
stack;
return ret_max; return ret_max;
}
} }
if (lvargs_supplied && lvargs_matched != dm_list_size(arg_lvnames)) { if (lvargs_supplied && lvargs_matched != dm_list_size(arg_lvnames)) {
@ -253,8 +255,10 @@ int process_each_lv(struct cmd_context *cmd, int argc, char **argv,
while (*lv_name == '/') while (*lv_name == '/')
lv_name++; lv_name++;
if (!(vgname = extract_vgname(cmd, vgname))) { if (!(vgname = extract_vgname(cmd, vgname))) {
if (ret_max < ECMD_FAILED) if (ret_max < ECMD_FAILED) {
stack;
ret_max = ECMD_FAILED; ret_max = ECMD_FAILED;
}
continue; continue;
} }
} else if (!dev_dir_found && } else if (!dev_dir_found &&
@ -348,8 +352,10 @@ int process_each_lv(struct cmd_context *cmd, int argc, char **argv,
tags_arg, &failed_lvnames, tags_arg, &failed_lvnames,
handle, process_single_lv); handle, process_single_lv);
if (ret != ECMD_PROCESSED || if (ret != ECMD_PROCESSED ||
dm_list_empty(&failed_lvnames)) dm_list_empty(&failed_lvnames)) {
stack;
break; break;
}
/* Try again with failed LVs in this VG */ /* Try again with failed LVs in this VG */
dm_list_init(&lvnames); dm_list_init(&lvnames);
@ -357,6 +363,7 @@ int process_each_lv(struct cmd_context *cmd, int argc, char **argv,
free_cmd_vgs(&cmd_vgs); free_cmd_vgs(&cmd_vgs);
if (!cmd_vg_read(cmd, &cmd_vgs)) { if (!cmd_vg_read(cmd, &cmd_vgs)) {
stack;
ret = ECMD_FAILED; /* break */ ret = ECMD_FAILED; /* break */
break; break;
} }
@ -366,8 +373,10 @@ int process_each_lv(struct cmd_context *cmd, int argc, char **argv,
free_cmd_vgs(&cmd_vgs); free_cmd_vgs(&cmd_vgs);
/* FIXME: logic for breaking command is not consistent */ /* FIXME: logic for breaking command is not consistent */
if (sigint_caught()) if (sigint_caught()) {
stack;
return ECMD_FAILED; return ECMD_FAILED;
}
} }
return ret_max; return ret_max;