diff options
author | Alasdair Kergon <agk@redhat.com> | 2001-11-12 15:10:01 +0000 |
---|---|---|
committer | Alasdair Kergon <agk@redhat.com> | 2001-11-12 15:10:01 +0000 |
commit | 277237805ad05634ad53156826783cb0500e3c7a (patch) | |
tree | feb9f06e32bde03513243bca8d6fcea31785ba3c /tools/lvm.c | |
parent | 09bc639dbf4df6f9823a1aa68c8f83e4224f69d3 (diff) | |
download | lvm2-277237805ad05634ad53156826783cb0500e3c7a.tar.gz lvm2-277237805ad05634ad53156826783cb0500e3c7a.tar.xz lvm2-277237805ad05634ad53156826783cb0500e3c7a.zip |
iospace restructured
Diffstat (limited to 'tools/lvm.c')
-rw-r--r-- | tools/lvm.c | 38 |
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(); |