From c0fcaacb8dcc996e19690e316526aa644ec061f3 Mon Sep 17 00:00:00 2001 From: Zdenek Kabelac Date: Wed, 21 Dec 2011 13:09:33 +0000 Subject: [PATCH] Thin add dev_manager_thin_pool_percent dev manager function to read percent info from thin pool. --- lib/activate/dev_manager.c | 24 ++++++++++++++++++++++++ lib/activate/dev_manager.h | 3 +++ 2 files changed, 27 insertions(+) diff --git a/lib/activate/dev_manager.c b/lib/activate/dev_manager.c index 23441a111..088684c2d 100644 --- a/lib/activate/dev_manager.c +++ b/lib/activate/dev_manager.c @@ -872,6 +872,30 @@ static int _belong_to_vg(const char *vgname, const char *name) #endif +int dev_manager_thin_pool_percent(struct dev_manager *dm, + const struct logical_volume *lv, + percent_t *percent) +{ + char *name; + const char *dlid; + + /* + * Build a name for the top layer. + */ + if (!(name = dm_build_dm_name(dm->mem, lv->vg->name, lv->name, thin_layer))) + return_0; + + if (!(dlid = build_dm_uuid(dm->mem, lv->lvid.s, thin_layer))) + return_0; + + log_debug("Getting device status percentage for %s", name); + if (!(_percent(dm, name, dlid, "thin-pool", 0, NULL, percent, + NULL, 1))) + return_0; + + return 1; +} + /*************************/ /* NEW CODE STARTS HERE */ /*************************/ diff --git a/lib/activate/dev_manager.h b/lib/activate/dev_manager.h index 9d414b20e..55d31879c 100644 --- a/lib/activate/dev_manager.h +++ b/lib/activate/dev_manager.h @@ -52,6 +52,9 @@ int dev_manager_snapshot_percent(struct dev_manager *dm, int dev_manager_mirror_percent(struct dev_manager *dm, const struct logical_volume *lv, int wait, percent_t *percent, uint32_t *event_nr); +int dev_manager_thin_pool_percent(struct dev_manager *dm, + const struct logical_volume *lv, + percent_t *percent); int dev_manager_suspend(struct dev_manager *dm, struct logical_volume *lv, struct lv_activate_opts *laopts, int lockfs, int flush_required); int dev_manager_activate(struct dev_manager *dm, struct logical_volume *lv, -- 2.43.5