1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-01-11 09:18:25 +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 ea9d0a19ca
commit fe5199c506
2 changed files with 3 additions and 2 deletions

View File

@ -1,5 +1,6 @@
Version 2.02.89 - 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. Change exclusive LV activation logic to try local node before remote nodes.
Add CLVMD_FLAG_REMOTE to skip processing on local node. Add CLVMD_FLAG_REMOTE to skip processing on local node.
Prompt if request is made to remove a snapshot whose "Merge failed". 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) if (lv->status & RAID)
for (s = 0; s < seg->area_count; s++) for (s = 0; s < seg->area_count; s++)
if (!_add_lv_to_dtree(dm, dtree, if (!_add_dev_to_dtree(dm, dtree,
seg_metalv(seg, s), origin_only)) seg_metalv(seg, s), NULL))
return_0; return_0;
/* Add any LVs referencing a PVMOVE LV unless told not to. */ /* Add any LVs referencing a PVMOVE LV unless told not to. */