summaryrefslogtreecommitdiffstats
path: root/libdm/libdm-deptree.c
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2011-10-17 14:15:26 +0000
committerZdenek Kabelac <zkabelac@redhat.com>2011-10-17 14:15:26 +0000
commit5668fe04d905fd39140939e99407c6aad8e29d59 (patch)
tree238b3928e7a2f86b86c0d9806c245b8ed17d3d60 /libdm/libdm-deptree.c
parent5668fd6a7a5810a669fdb9ab4376b4da6bf63ca5 (diff)
downloadlvm2-5668fe04d905fd39140939e99407c6aad8e29d59.tar.gz
lvm2-5668fe04d905fd39140939e99407c6aad8e29d59.tar.xz
lvm2-5668fe04d905fd39140939e99407c6aad8e29d59.zip
Add _thin_validate_device_id
Diffstat (limited to 'libdm/libdm-deptree.c')
-rw-r--r--libdm/libdm-deptree.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/libdm/libdm-deptree.c b/libdm/libdm-deptree.c
index 701681c3..1099f996 100644
--- a/libdm/libdm-deptree.c
+++ b/libdm/libdm-deptree.c
@@ -2687,6 +2687,17 @@ int dm_tree_node_add_replicator_dev_target(struct dm_tree_node *node,
return 1;
}
+static int _thin_validate_device_id(uint32_t device_id)
+{
+ if (device_id > DM_THIN_MAX_DEVICE_ID) {
+ log_error("Device id %u is higher then %u.",
+ device_id, DM_THIN_MAX_DEVICE_ID);
+ return 0;
+ }
+
+ return 1;
+}
+
int dm_tree_node_add_thin_pool_target(struct dm_tree_node *node,
uint64_t size,
uint64_t transaction_id,
@@ -2744,11 +2755,8 @@ int dm_tree_node_add_thin_target(struct dm_tree_node *node,
{
struct load_segment *seg;
- if (device_id > DM_THIN_MAX_DEVICE_ID) {
- log_error("Device id %u is higher then %u.",
- device_id, DM_THIN_MAX_DEVICE_ID);
- return 0;
- }
+ if (!_thin_validate_device_id(device_id))
+ return_0;
if (!(seg = _add_segment(node, SEG_THIN, size)))
return_0;