From ef8a0eae5c9db2561ccf8b6773b4e4c0d5349af3 Mon Sep 17 00:00:00 2001 From: Joe Thornber Date: Mon, 19 Nov 2001 15:38:39 +0000 Subject: [PATCH] o Use new info interface to dm. --- TODO | 1 - lib/activate/activate.c | 41 ++++++++++++++++------------------------- lib/activate/fs.c | 1 + 3 files changed, 17 insertions(+), 26 deletions(-) diff --git a/TODO b/TODO index 136ee147a..40526fca4 100644 --- a/TODO +++ b/TODO @@ -9,7 +9,6 @@ error message review correct handling of *existing* snapshots review statics review consistency checks for full compatibility with LVM1 -iospace split/rename before beta1 ----------- diff --git a/lib/activate/activate.c b/lib/activate/activate.c index 918f3ab73..b220773e5 100644 --- a/lib/activate/activate.c +++ b/lib/activate/activate.c @@ -33,8 +33,9 @@ static struct dm_task *_setup_task(struct logical_volume *lv, int task) return dmt; } -static struct dm_task *_info(struct logical_volume *lv) +static int _info(struct logical_volume *lv, struct dm_info *info) { + int r = 0; struct dm_task *dmt; if (!(dmt = _setup_task(lv, DM_DEVICE_INFO))) { @@ -44,54 +45,44 @@ static struct dm_task *_info(struct logical_volume *lv) if (!dm_task_run(dmt)) { stack; - goto bad; + goto out; } - return dmt; + if (!dm_task_get_info(dmt, info)) { + stack; + goto out; + } + r = 1; - bad: + out: dm_task_destroy(dmt); - return NULL; + return r; } int lv_active(struct logical_volume *lv) { int r = -1; - struct dm_task *dmt; + struct dm_info info; - if (!(dmt = _info(lv))) { + if (!_info(lv, &info)) { stack; return r; } - if (!dm_task_exists(dmt, &r)) { - stack; - goto out; - } - - out: - dm_task_destroy(dmt); - return r; + return info.exists; } int lv_open_count(struct logical_volume *lv) { int r = -1; - struct dm_task *dmt; + struct dm_info info; - if (!(dmt = _info(lv))) { + if (!_info(lv, &info)) { stack; return r; } - if (!dm_task_open_count(dmt, &r)) { - stack; - goto out; - } - - out: - dm_task_destroy(dmt); - return r; + return info.open_count; } /* diff --git a/lib/activate/fs.c b/lib/activate/fs.c index e376f11b6..d837ac55f 100644 --- a/lib/activate/fs.c +++ b/lib/activate/fs.c @@ -89,6 +89,7 @@ static int _mk_node(struct logical_volume *lv) _build_lv_path(lv_path, sizeof(lv_path), lv); + // FIXME: dev never get's initialised ! if (mknod(lv_path, S_IFBLK | S_IRUSR | S_IWUSR | S_IRGRP, dev) < 0) { log_sys_error("mknod", lv_path); return 0;