Add initial meta-stx to support StarlingX build
[pti/rtp.git] / meta-stx / recipes-support / puppet / files / puppetlabs-lvm / 0004-extendind-nuke_fs_on_resize_failure-functionality.patch
diff --git a/meta-stx/recipes-support/puppet/files/puppetlabs-lvm/0004-extendind-nuke_fs_on_resize_failure-functionality.patch b/meta-stx/recipes-support/puppet/files/puppetlabs-lvm/0004-extendind-nuke_fs_on_resize_failure-functionality.patch
new file mode 100644 (file)
index 0000000..a0115a7
--- /dev/null
@@ -0,0 +1,34 @@
+From f2676c5ac0e17a18726815b72ef449c804e07135 Mon Sep 17 00:00:00 2001
+From: Stefan Dinescu <stefan.dinescu@windriver.com>
+Date: Wed, 6 Dec 2017 12:50:14 +0000
+Subject: [PATCH 1/1] extendind nuke_fs_on_resize_failure functionality
+
+---
+ .../modules/lvm/lib/puppet/provider/logical_volume/lvm.rb     | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/packstack/puppet/modules/lvm/lib/puppet/provider/logical_volume/lvm.rb b/packstack/puppet/modules/lvm/lib/puppet/provider/logical_volume/lvm.rb
+index 2f41695..2abfea3 100755
+--- a/packstack/puppet/modules/lvm/lib/puppet/provider/logical_volume/lvm.rb
++++ b/packstack/puppet/modules/lvm/lib/puppet/provider/logical_volume/lvm.rb
+@@ -188,7 +188,16 @@ Puppet::Type.type(:logical_volume).provide :lvm do
+             exec_cmd('dd', 'if=/dev/zero', "of=#{path}", "bs=512", "count=16", "conv=notrunc")
+             blkid('-g')
+           end
+-          lvresize( '-f', '-L', "#{new_size}k", path) || fail( "Cannot reduce to size #{new_size} because lvresize failed." )
++          r = exec_cmd('lvresize', '-r', '-f', '-L', "#{new_size}k", path)
++          if r[:exit] != 0
++            if @resource[:nuke_fs_on_resize_failure]
++              exec_cmd('dd', 'if=/dev/zero', "of=#{path}", "bs=512", "count=16", "conv=notrunc")
++              blkid('-g')
++              lvresize( '-f', '-L', "#{new_size}k", path) || fail( "Cannot reduce to size #{new_size} because lvresize failed." )
++            else
++              fail( "Cannot reduce to size #{new_size} because lvresize failed." )
++            end
++          end
+         end
+       elsif new_size > current_size
+         if new_size % vg_extent_size != 0
+-- 
+1.8.3.1
+