|
|
f41bc7 |
WHATS_NEW | 4 ++++
|
|
|
f41bc7 |
lib/activate/dev_manager.c | 14 +++++++-------
|
|
|
f41bc7 |
2 files changed, 11 insertions(+), 7 deletions(-)
|
|
|
f41bc7 |
|
|
|
f41bc7 |
diff --git a/WHATS_NEW b/WHATS_NEW
|
|
|
f41bc7 |
index 50a0045..30f1391 100644
|
|
|
f41bc7 |
--- a/WHATS_NEW
|
|
|
f41bc7 |
+++ b/WHATS_NEW
|
|
|
f41bc7 |
@@ -1,3 +1,7 @@
|
|
|
f41bc7 |
+Version 2.03.09 -
|
|
|
f41bc7 |
+====================================
|
|
|
f41bc7 |
+ Fix showing of a dm kernel error when uncaching a volume with cachevol.
|
|
|
f41bc7 |
+
|
|
|
f41bc7 |
Version 2.03.08 - 11th February 2020
|
|
|
f41bc7 |
====================================
|
|
|
f41bc7 |
Prevent problematic snapshots of writecache volumes.
|
|
|
f41bc7 |
diff --git a/lib/activate/dev_manager.c b/lib/activate/dev_manager.c
|
|
|
f41bc7 |
index 8569e86..c8a22fb 100644
|
|
|
f41bc7 |
--- a/lib/activate/dev_manager.c
|
|
|
f41bc7 |
+++ b/lib/activate/dev_manager.c
|
|
|
f41bc7 |
@@ -3161,8 +3161,8 @@ static int _add_new_lv_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
|
|
|
f41bc7 |
char *dlid_meta;
|
|
|
f41bc7 |
char *dlid_data;
|
|
|
f41bc7 |
char *dlid_pool;
|
|
|
f41bc7 |
- uint64_t meta_len = first_seg(lv)->metadata_len;
|
|
|
f41bc7 |
- uint64_t data_len = first_seg(lv)->data_len;
|
|
|
f41bc7 |
+ uint64_t meta_size = first_seg(lv)->metadata_len;
|
|
|
f41bc7 |
+ uint64_t data_size = first_seg(lv)->data_len;
|
|
|
f41bc7 |
uint16_t udev_flags = _get_udev_flags(dm, lv, layer,
|
|
|
f41bc7 |
laopts->noscan, laopts->temporary,
|
|
|
f41bc7 |
0);
|
|
|
f41bc7 |
@@ -3210,12 +3210,12 @@ static int _add_new_lv_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
|
|
|
f41bc7 |
|
|
|
f41bc7 |
if (dm->track_pending_delete) {
|
|
|
f41bc7 |
log_debug_activation("Using error for pending meta delete %s.", display_lvname(lv));
|
|
|
f41bc7 |
- if (!dm_tree_node_add_error_target(dnode_meta, (uint64_t)lv->vg->extent_size * meta_len))
|
|
|
f41bc7 |
+ if (!dm_tree_node_add_error_target(dnode_meta, meta_size))
|
|
|
f41bc7 |
return_0;
|
|
|
f41bc7 |
} else {
|
|
|
f41bc7 |
/* add load_segment to meta dnode: linear, size of meta area */
|
|
|
f41bc7 |
if (!add_linear_area_to_dtree(dnode_meta,
|
|
|
f41bc7 |
- meta_len,
|
|
|
f41bc7 |
+ meta_size,
|
|
|
f41bc7 |
lv->vg->extent_size,
|
|
|
f41bc7 |
lv->vg->cmd->use_linear_target,
|
|
|
f41bc7 |
lv->vg->name, lv->name))
|
|
|
f41bc7 |
@@ -3239,19 +3239,19 @@ static int _add_new_lv_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
|
|
|
f41bc7 |
|
|
|
f41bc7 |
if (dm->track_pending_delete) {
|
|
|
f41bc7 |
log_debug_activation("Using error for pending data delete %s.", display_lvname(lv));
|
|
|
f41bc7 |
- if (!dm_tree_node_add_error_target(dnode_data, (uint64_t)lv->vg->extent_size * data_len))
|
|
|
f41bc7 |
+ if (!dm_tree_node_add_error_target(dnode_data, data_size))
|
|
|
f41bc7 |
return_0;
|
|
|
f41bc7 |
} else {
|
|
|
f41bc7 |
/* add load_segment to data dnode: linear, size of data area */
|
|
|
f41bc7 |
if (!add_linear_area_to_dtree(dnode_data,
|
|
|
f41bc7 |
- data_len,
|
|
|
f41bc7 |
+ data_size,
|
|
|
f41bc7 |
lv->vg->extent_size,
|
|
|
f41bc7 |
lv->vg->cmd->use_linear_target,
|
|
|
f41bc7 |
lv->vg->name, lv->name))
|
|
|
f41bc7 |
return_0;
|
|
|
f41bc7 |
|
|
|
f41bc7 |
/* add seg_area to prev load_seg: offset 0 maps to cachepool lv after meta */
|
|
|
f41bc7 |
- if (!dm_tree_node_add_target_area(dnode_data, NULL, dlid_pool, meta_len))
|
|
|
f41bc7 |
+ if (!dm_tree_node_add_target_area(dnode_data, NULL, dlid_pool, meta_size))
|
|
|
f41bc7 |
return_0;
|
|
|
f41bc7 |
}
|
|
|
f41bc7 |
}
|
|
|
f41bc7 |
|