From a908d0030cfd89ac0bba694d9c9c56c3efe3917f Mon Sep 17 00:00:00 2001 From: Milan Broz Date: Sat, 6 Jun 2009 16:37:15 +0000 Subject: [PATCH] Suspend virtual origin before real snapshot. Because preload of table for snapshot can produce snapshot metadata (in kernel cow header) read. Code should suspend origin first to avoid possible deadlock when preloading (thus calling snapshot in-kernel constructor) for origin with suspended cow device. (fixes previous commit) --- lib/metadata/lv_manip.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c index e4f1ad1bb..cd741cbce 100644 --- a/lib/metadata/lv_manip.c +++ b/lib/metadata/lv_manip.c @@ -1806,7 +1806,7 @@ int lv_rename(struct cmd_context *cmd, struct logical_volume *lv, /* rename active virtual origin too */ if (lv_is_cow(lv) && lv_is_virtual_origin(lvl2.lv = origin_from_cow(lv))) - dm_list_add(&lvs_changed, &lvl2.list); + dm_list_add_h(&lvs_changed, &lvl2.list); log_verbose("Writing out updated volume group"); if (!vg_write(vg)) -- 2.43.5