[lvm-devel] master - debug: catch invalid request for tree
Zdenek Kabelac
zkabelac at fedoraproject.org
Tue Apr 8 09:02:53 UTC 2014
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=9eab84aa2b4cf97f931f0291b3f690cdceaa1e75
Commit: 9eab84aa2b4cf97f931f0291b3f690cdceaa1e75
Parent: 43f849296e1e4b5450681e275495450bf041a11b
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Mon Apr 7 20:33:50 2014 +0200
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Tue Apr 8 11:00:15 2014 +0200
debug: catch invalid request for tree
In general for non-toplevel LVs we shouldn't allow any _tree_action.
For now error on request for cache_pool activation which
doesn't even exist in dm-table.
---
lib/activate/dev_manager.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/lib/activate/dev_manager.c b/lib/activate/dev_manager.c
index cde39af..fb9625d 100644
--- a/lib/activate/dev_manager.c
+++ b/lib/activate/dev_manager.c
@@ -2786,6 +2786,12 @@ static int _tree_action(struct dev_manager *dm, struct logical_volume *lv,
char *dlid;
int r = 0;
+ /* Some LV can be used for top level tree */
+ /* TODO: add more.... */
+ if (lv_is_cache_pool(lv)) {
+ log_error(INTERNAL_ERROR "Cannot create tree for %s.", lv->name);
+ return 0;
+ }
/* Some targets may build bigger tree for activation */
dm->activation = ((action == PRELOAD) || (action == ACTIVATE));
if (!(dtree = _create_partial_dtree(dm, lv, laopts->origin_only)))
More information about the lvm-devel
mailing list