From 34507894e957c3298d3d5c72010189f2d44d4b26 Mon Sep 17 00:00:00 2001 From: Zdenek Kabelac Date: Wed, 21 Dec 2011 13:10:05 +0000 Subject: [PATCH] Thin add lv_thin_pool_percent --- lib/activate/activate.c | 24 ++++++++++++++++++++++++ lib/activate/activate.h | 1 + 2 files changed, 25 insertions(+) diff --git a/lib/activate/activate.c b/lib/activate/activate.c index 3ebb12246..44227b68c 100644 --- a/lib/activate/activate.c +++ b/lib/activate/activate.c @@ -689,6 +689,30 @@ int lv_raid_percent(const struct logical_volume *lv, percent_t *percent) return lv_mirror_percent(lv->vg->cmd, lv, 0, percent, NULL); } +/* + * Returns 1 if percent set, else 0 on failure. + */ +int lv_thin_pool_percent(const struct logical_volume *lv, percent_t *percent) +{ + int r; + struct dev_manager *dm; + + if (!activation()) + return 0; + + log_debug("Checking thin pool percent for LV %s/%s", lv->vg->name, lv->name); + + if (!(dm = dev_manager_create(lv->vg->cmd, lv->vg->name, 1))) + return_0; + + if (!(r = dev_manager_thin_pool_percent(dm, lv, percent))) + stack; + + dev_manager_destroy(dm); + + return r; +} + static int _lv_active(struct cmd_context *cmd, struct logical_volume *lv) { struct lvinfo info; diff --git a/lib/activate/activate.h b/lib/activate/activate.h index 283c1d21c..e62a872a2 100644 --- a/lib/activate/activate.h +++ b/lib/activate/activate.h @@ -100,6 +100,7 @@ int lv_snapshot_percent(const struct logical_volume *lv, percent_t *percent); int lv_mirror_percent(struct cmd_context *cmd, const struct logical_volume *lv, int wait, percent_t *percent, uint32_t *event_nr); int lv_raid_percent(const struct logical_volume *lv, percent_t *percent); +int lv_thin_pool_percent(const struct logical_volume *lv, percent_t *percent); /* * Return number of LVs in the VG that are active.