From a46cc72fd2091ad9aa1ca17e7fdd4a5b472337d0 Mon Sep 17 00:00:00 2001 From: Zdenek Kabelac Date: Tue, 28 Feb 2012 10:11:35 +0000 Subject: [PATCH] Add some stack traces for dev_close error paths --- lib/filters/filter.c | 3 ++- lib/format_text/format-text.c | 6 ++++-- lib/metadata/metadata.c | 6 ++++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/filters/filter.c b/lib/filters/filter.c index 45c3e7af9..d8bc35904 100644 --- a/lib/filters/filter.c +++ b/lib/filters/filter.c @@ -179,7 +179,8 @@ static int _passes_lvm_type_device_filter(struct dev_filter *f __attribute__((un ret = 1; out: - dev_close(dev); + if (!dev_close(dev)) + stack; return ret; } diff --git a/lib/format_text/format-text.c b/lib/format_text/format-text.c index 5a6c08343..2c23b32e8 100644 --- a/lib/format_text/format-text.c +++ b/lib/format_text/format-text.c @@ -1357,8 +1357,10 @@ static int _text_pv_write(const struct format_type *fmt, struct physical_volume return_0; if (!label_write(pv->dev, label)) { - dev_close(pv->dev); - return_0; + stack; + if (!dev_close(pv->dev)) + stack; + return 0; } /* diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c index ea487bd42..e1b1d77cc 100644 --- a/lib/metadata/metadata.c +++ b/lib/metadata/metadata.c @@ -1460,10 +1460,12 @@ static int _pvcreate_write(struct cmd_context *cmd, struct pv_to_create *pvc) if (!dev_set(dev, UINT64_C(0), (size_t) 2048, 0)) { log_error("%s not wiped: aborting", pv_name); - dev_close(dev); + if (!dev_close(dev)) + stack; return 0; } - dev_close(dev); + if (!dev_close(dev)) + stack; } log_error("Writing physical volume data to disk \"%s\"", -- 2.43.5