]> sourceware.org Git - lvm2.git/commitdiff
libdm: allow to activate any pool with tid == 0
authorZdenek Kabelac <zkabelac@redhat.com>
Tue, 4 Nov 2014 08:42:15 +0000 (09:42 +0100)
committerZdenek Kabelac <zkabelac@redhat.com>
Tue, 4 Nov 2014 14:28:00 +0000 (15:28 +0100)
When transaction_id is set 0 for thin-pool, libdm avoids validation
of thin-pool, unless there are real messages to be send to thin-pool.
This relaxes strict policy which always required to know
in front transaction_id for the kernel target.

It now allows to activate thin-pool with any transaction_id
(when transaction_id is passed in)

It is now upto application to validate transaction_id from life
thin-pool volume with transaction_id within it's own metadata.

WHATS_NEW_DM
libdm/libdm-deptree.c

index 6b5ee3a0f5a3f3bcf843539a0089a43016fef073..0305077e0e8cec98cfbe2364d50bde73cce78b1f 100644 (file)
@@ -1,5 +1,6 @@
 Version 1.02.91 - 
 ====================================
+  Allow activation of any thin-pool with passed transaction_id == 0.
   Don't print uninitialized stack bytes when non-root uses dm_check_version().
   Fix selection criteria to not match reserved values when using >, <, >=, <.
   Add DM_LIST_HEAD_INIT macro to libdevmapper.h
index 0048b1c1aae4baa43970b41cc238230ba8bafe00..d120bf5113edb726ccf27d0483e66b7d58285df1 100644 (file)
@@ -3757,7 +3757,8 @@ int dm_tree_node_add_thin_pool_target(struct dm_tree_node *node,
        seg->metadata->props.delay_resume_if_new = 0;
        seg->pool->props.delay_resume_if_new = 0;
 
-       node->props.send_messages = 1;
+       /* Validate only transaction_id > 0 when activating thin-pool */
+       node->props.send_messages = transaction_id ? 1 : 0;
        seg->transaction_id = transaction_id;
        seg->low_water_mark = low_water_mark;
        seg->data_block_size = data_block_size;
@@ -3826,6 +3827,7 @@ int dm_tree_node_add_thin_pool_message(struct dm_tree_node *node,
 
        tm->message.type = type;
        dm_list_add(&seg->thin_messages, &tm->list);
+       node->props.send_messages = 1;
 
        return 1;
 }
This page took 0.036522 seconds and 5 git commands to generate.