summaryrefslogtreecommitdiff
path: root/WHATS_NEW
diff options
context:
space:
mode:
authorPeter Rajnoha <prajnoha@redhat.com>2022-10-12 14:41:58 +0200
committerPeter Rajnoha <prajnoha@redhat.com>2022-10-12 15:14:59 +0200
commit908555459f0abbcda687882439589209528e1dc0 (patch)
treed7b7d878fab9fbe5c050682924b013e1631fc45e /WHATS_NEW
parentf6f2737015746b1b6c7fbd0d297a4596c584749b (diff)
downloadlvm2-908555459f0abbcda687882439589209528e1dc0.tar.gz
toollib: do not process just created historical LV
When executing process_each_lv_in_vg, we process live LVs first and after that, we process any historical LVs. In case we have just removed an LV, which also means we have just made it "historical" and so it appears as fresh item in vg->historical_lvs list, we have to skip it when we get to processing historical LVs inside the same process_each_lv_in_vg call. The simplest approach here, without introducing another LV list, is to simply mark such historical LVs as "fresh" directly in struct historical_logical_volume when we have just removed the original LV and created the historical LV for it. Then, we just need to check the flag when processing historical LVs and skip it if it is "fresh". When we read historical LVs out of metadata, they are marked as "not fresh" and so they can be processed as usual. This was mainly an issue in conjuction with -S|--select use: # lvmconfig --type diff metadata { record_lvs_history=1 } (In this example, a thin pool with lvol1 thin LV and lvol2 and lvol3 snapshots.) # lvs -H vg -o name,pool_lv,full_ancestors,full_descendants LV Pool FAncestors FDescendants lvol1 pool lvol2,lvol3 lvol2 pool lvol1 lvol3 lvol3 pool lvol2,lvol1 pool # lvremove -S 'name=lvol2' Logical volume "lvol2" successfully removed. Historical logical volume "lvol2" successfully removed. ...here, the historical LV lvol2 should not have been removed because we have just removed its original non-historical lvol2 and the fresh historical lvol2 must not be included in the same processing spree.
Diffstat (limited to 'WHATS_NEW')
-rw-r--r--WHATS_NEW1
1 files changed, 1 insertions, 0 deletions
diff --git a/WHATS_NEW b/WHATS_NEW
index e29ec7066..2942b0e53 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.03.17 -
===============================
+ Fix 'lvremove -S|--select LV' to not also remove its historical LV right away.
Fix lv_active field type to binary so --select and --binary applies properly.
Switch to use mallinfo2 and use it only with glibc.
Error out in lvm shell if using a cmd argument not supported in the shell.