1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-10-27 10:25:13 +03:00

Fix the way RAID meta LVs are added to the dependency tree.

Similar to the "mirror" segment type's log device, _add_dev_to_dtree should
be called and not _add_lv_to_dtree when adding metadata sub-LVs to the deptree.
Since _add_lv_to_dtree was being called, 'origin_only' could be set if a
snapshot sits on top of the RAID device.  This would cause the actual device
that needed to be added to be skipped in favor of the non-existant device,
"<foo>-real".
This commit is contained in:
Jonathan Earl Brassow 2012-01-23 20:56:42 +00:00
parent d38de32b40
commit d5617bccab
2 changed files with 3 additions and 2 deletions

View File

@ -1,5 +1,6 @@
Version 2.02.89 -
==================================
Fix the way RAID meta LVs are added to the dependency tree.
Change exclusive LV activation logic to try local node before remote nodes.
Add CLVMD_FLAG_REMOTE to skip processing on local node.
Prompt if request is made to remove a snapshot whose "Merge failed".

View File

@ -1176,8 +1176,8 @@ static int _add_lv_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
if (lv->status & RAID)
for (s = 0; s < seg->area_count; s++)
if (!_add_lv_to_dtree(dm, dtree,
seg_metalv(seg, s), origin_only))
if (!_add_dev_to_dtree(dm, dtree,
seg_metalv(seg, s), NULL))
return_0;
/* Add any LVs referencing a PVMOVE LV unless told not to. */