1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-01-02 01:18:26 +03:00

snapshot: move virtsnap code from tool to lib

Move code for removal dependency from tool's remove.c
into lib's manipulation code.

Same code then works with lvm2app.
This commit is contained in:
Zdenek Kabelac 2013-10-11 22:42:34 +02:00
parent 6b35c70e8b
commit 81504ba70c
3 changed files with 6 additions and 9 deletions

View File

@ -1,5 +1,6 @@
Version 2.02.104
===================================
Move code to remove virtual snapshot from tools to lib for lvm2app.
Fix possible race during daemon worker thread creation (lvmetad).
Fix possible deadlock while clearing lvmetad cache for full rescan.
Fix possible race while creating/destroying memory pools.

View File

@ -4685,6 +4685,7 @@ int lv_remove_with_dependencies(struct cmd_context *cmd, struct logical_volume *
struct dm_list *snh, *snht;
struct lv_list *lvl;
struct lvinfo info;
struct logical_volume *origin;
int is_last_pool;
if (lv_is_cow(lv)) {
@ -4713,7 +4714,10 @@ int lv_remove_with_dependencies(struct cmd_context *cmd, struct logical_volume *
return 0;
}
}
}
} else if (!level && lv_is_virtual_origin(origin = origin_from_cow(lv)))
/* If this is a sparse device, remove its origin too. */
/* Stacking is not supported */
lv = origin;
}
if (lv_is_origin(lv)) {

View File

@ -18,14 +18,6 @@
static int lvremove_single(struct cmd_context *cmd, struct logical_volume *lv,
void *handle __attribute__((unused)))
{
struct logical_volume *origin;
/*
* If this is a sparse device, remove its origin too.
*/
if (lv_is_cow(lv) && lv_is_virtual_origin(origin = origin_from_cow(lv)))
lv = origin;
if (!lv_remove_with_dependencies(cmd, lv, (force_t) arg_count(cmd, force_ARG), 0))
return_ECMD_FAILED;