summaryrefslogtreecommitdiffstats
path: root/tools/lvm.c
diff options
context:
space:
mode:
authorAlasdair Kergon <agk@redhat.com>2001-11-12 15:10:01 +0000
committerAlasdair Kergon <agk@redhat.com>2001-11-12 15:10:01 +0000
commit277237805ad05634ad53156826783cb0500e3c7a (patch)
treefeb9f06e32bde03513243bca8d6fcea31785ba3c /tools/lvm.c
parent09bc639dbf4df6f9823a1aa68c8f83e4224f69d3 (diff)
downloadlvm2-277237805ad05634ad53156826783cb0500e3c7a.tar.gz
lvm2-277237805ad05634ad53156826783cb0500e3c7a.tar.xz
lvm2-277237805ad05634ad53156826783cb0500e3c7a.zip
iospace restructured
Diffstat (limited to 'tools/lvm.c')
-rw-r--r--tools/lvm.c38
1 files changed, 20 insertions, 18 deletions
diff --git a/tools/lvm.c b/tools/lvm.c
index 90da2f4f..461067e0 100644
--- a/tools/lvm.c
+++ b/tools/lvm.c
@@ -59,10 +59,11 @@ static int _array_size;
static int _num_commands;
static struct command *_commands;
-/* Exported */
-struct io_space *ios;
+/* Exported LVM1 disk format */
+struct format_instance *fid;
+
+struct cmd_context *cmd;
-static struct dev_filter *_filter;
/* Whether or not to dump persistent filter state */
static int dump_filter;
static struct config_file *_cf;
@@ -561,7 +562,7 @@ static int run_command(int argc, char **argv)
/*
* free off any memory the command used.
*/
- pool_empty(ios->mem);
+ pool_empty(cmd->mem);
if (ret == EINVALID_CMD_LINE && !_interactive)
usage(com->name);
@@ -602,11 +603,6 @@ struct config_file *active_config_file(void)
return _cf;
}
-struct dev_filter *active_filter(void)
-{
- return _filter;
-}
-
static void __init_log(struct config_file *cf)
{
char *open_mode = "a";
@@ -732,10 +728,14 @@ static int init(void)
int ret = 0;
const char *e = getenv("LVM_CONFIG_FILE");
struct stat info;
- struct pool *ios_pool;
+
+ if (!(cmd = dbg_malloc(sizeof(*cmd)))) {
+ log_error("Failed to allocate command context");
+ goto out;
+ }
/* FIXME: Override from config file. (Append trailing slash if reqd) */
- char *prefix = "/dev/";
+ cmd->dev_dir = "/dev/";
if (!(_cf = create_config_file())) {
stack;
@@ -763,17 +763,17 @@ static int init(void)
goto out;
}
- if (!(_filter = filter_setup())) {
+ if (!(cmd->filter = filter_setup())) {
log_error("Failed to set up internal device filters");
goto out;
}
- if (!(ios_pool = pool_create(4 * 1024))) {
- log_error("ios pool creation failed");
+ if (!(cmd->mem = pool_create(4 * 1024))) {
+ log_error("Command pool creation failed");
goto out;
}
- if (!(ios = create_lvm1_format(prefix, ios_pool, _filter))) {
+ if (!(fid = create_lvm1_format(cmd))) {
goto out;
}
@@ -796,12 +796,14 @@ static void __fin_commands(void)
static void fin(void)
{
if (dump_filter)
- persistent_filter_dump(_filter);
+ persistent_filter_dump(cmd->filter);
- ios->destroy(ios);
- _filter->destroy(_filter);
+ fid->ops->destroy(fid);
+ cmd->filter->destroy(cmd->filter);
+ pool_destroy(cmd->mem);
dev_cache_exit();
destroy_config_file(_cf);
+ dbg_free(cmd);
__fin_commands();
dump_memory();
fin_log();