diff options
author | Alasdair Kergon <agk@redhat.com> | 2009-07-16 00:36:59 +0000 |
---|---|---|
committer | Alasdair Kergon <agk@redhat.com> | 2009-07-16 00:36:59 +0000 |
commit | d917192f0010bf80315ba4aa4f6625e2a0ac60fd (patch) | |
tree | 337aeadcf3bd0d3c78156d8a6a67cdc573b1d9f4 /liblvm/lvm_base.c | |
parent | d614646157d51b6a396519b73ec99e112e6948de (diff) | |
download | lvm2-d917192f0010bf80315ba4aa4f6625e2a0ac60fd.tar.gz lvm2-d917192f0010bf80315ba4aa4f6625e2a0ac60fd.tar.xz lvm2-d917192f0010bf80315ba4aa4f6625e2a0ac60fd.zip |
Add lvm_errno and lvm_errmsg to liblvm to obtain failure information.
Change create_toolcontext to still return an object if it fails part-way.
Add EUNCLASSIFIED (-1) as the default LVM errno code.
Diffstat (limited to 'liblvm/lvm_base.c')
-rw-r--r-- | liblvm/lvm_base.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/liblvm/lvm_base.c b/liblvm/lvm_base.c index 4fa85419..2414ed08 100644 --- a/liblvm/lvm_base.c +++ b/liblvm/lvm_base.c @@ -29,6 +29,10 @@ lvm_t lvm_create(const char *system_dir) cmd = create_toolcontext(1, system_dir); if (!cmd) return NULL; + + if (stored_errno()) + return (lvm_t) cmd; + /* * FIXME: if an non memory error occured, return the cmd (maybe some * cleanup needed). @@ -66,3 +70,13 @@ int lvm_reload_config(lvm_t libh) /* FIXME: re-init locking needed here? */ return refresh_toolcontext((struct cmd_context *)libh); } + +int lvm_errno(lvm_t libh) +{ + return stored_errno(); +} + +const char *lvm_errmsg(lvm_t libh) +{ + return stored_errmsg(); +} |