[lvm-devel] [PATCH 27/29] Add standard check for result of lv_info call
Zdenek Kabelac
zkabelac at redhat.com
Thu Nov 25 16:24:42 UTC 2010
Dne 25.11.2010 11:55, Zdenek Kabelac napsal(a):
> Also add log_error message in case info would not be found.
>
> Signed-off-by: Zdenek Kabelac <zkabelac at redhat.com>
> ---
> lib/mirror/mirrored.c | 12 ++++++++++--
> 1 files changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/lib/mirror/mirrored.c b/lib/mirror/mirrored.c
> index da9bdba..98aaa0d 100644
> --- a/lib/mirror/mirrored.c
> +++ b/lib/mirror/mirrored.c
> @@ -296,7 +296,11 @@ static int _mirrored_transient_status(struct lv_segment *seg, char *params)
> if (!strcmp(log_args[0], "disk")) {
> char buf[32];
> log = first_seg(lv)->log_lv;
> - lv_info(lv->vg->cmd, log, 0, &info, 0, 0);
> + if (!lv_info(lv->vg->cmd, log, 0, &info, 0, 0)) {
> + log_error("Check for existence of mirror log '%s' failed.",
> + log->name);
> + return 0;
> + }
> log_debug("Found mirror log at %d:%d", info.major, info.minor);
> sprintf(buf, "%d:%d", info.major, info.minor);
> if (strcmp(buf, log_args[1])) {
> @@ -316,7 +320,11 @@ static int _mirrored_transient_status(struct lv_segment *seg, char *params)
>
> for (i = 0; i < seg->area_count; ++i) {
> char buf[32];
> - lv_info(lv->vg->cmd, seg_lv(seg, i), 0, &info, 0, 0);
> + if (!lv_info(lv->vg->cmd, seg_lv(seg, i), 0, &info, 0, 0)) {
> + log_error("Check for existence of mirror leg '%s' failed.",
> + log->name);
Ooops - forget one merge commit in my local branch to fix this copy&paste.
Here instead of 'log->name' 'seg_lv(seg, i)->name' has to be used.
Zdenek
More information about the lvm-devel
mailing list