summaryrefslogtreecommitdiffstats
path: root/lib/activate/dev_manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/activate/dev_manager.c')
-rw-r--r--lib/activate/dev_manager.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/activate/dev_manager.c b/lib/activate/dev_manager.c
index 23441a11..088684c2 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 */
/*************************/