Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package yast2-storage-ng for 
openSUSE:Factory checked in at 2022-06-01 17:34:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-storage-ng (Old)
 and      /work/SRC/openSUSE:Factory/.yast2-storage-ng.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-storage-ng"

Wed Jun  1 17:34:18 2022 rev:128 rq:980096 version:4.5.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-storage-ng/yast2-storage-ng.changes        
2022-05-25 20:33:53.320171248 +0200
+++ 
/work/SRC/openSUSE:Factory/.yast2-storage-ng.new.1548/yast2-storage-ng.changes  
    2022-06-01 17:34:32.634732428 +0200
@@ -1,0 +2,7 @@
+Tue May 31 13:04:11 UTC 2022 - Stefan Hundhammer <shundham...@suse.com>
+
+- Partitioner: Allow min chunk size of 4 KiB (page size) for RAID0 /
+  RAID10 (bsc#1200018)
+- 4.5.7
+
+-------------------------------------------------------------------

Old:
----
  yast2-storage-ng-4.5.6.tar.bz2

New:
----
  yast2-storage-ng-4.5.7.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ yast2-storage-ng.spec ++++++
--- /var/tmp/diff_new_pack.jVx2Vz/_old  2022-06-01 17:34:33.202733099 +0200
+++ /var/tmp/diff_new_pack.jVx2Vz/_new  2022-06-01 17:34:33.206733104 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-storage-ng
-Version:        4.5.6
+Version:        4.5.7
 Release:        0
 Summary:        YaST2 - Storage Configuration
 License:        GPL-2.0-only OR GPL-3.0-only

++++++ yast2-storage-ng-4.5.6.tar.bz2 -> yast2-storage-ng-4.5.7.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-storage-ng-4.5.6/package/yast2-storage-ng.changes 
new/yast2-storage-ng-4.5.7/package/yast2-storage-ng.changes
--- old/yast2-storage-ng-4.5.6/package/yast2-storage-ng.changes 2022-05-23 
15:37:05.000000000 +0200
+++ new/yast2-storage-ng-4.5.7/package/yast2-storage-ng.changes 2022-05-31 
15:16:03.000000000 +0200
@@ -1,4 +1,11 @@
 -------------------------------------------------------------------
+Tue May 31 13:04:11 UTC 2022 - Stefan Hundhammer <shundham...@suse.com>
+
+- Partitioner: Allow min chunk size of 4 KiB (page size) for RAID0 /
+  RAID10 (bsc#1200018)
+- 4.5.7
+
+-------------------------------------------------------------------
 Mon May 23 13:12:58 UTC 2022 - Stefan Hundhammer <shundham...@suse.com>
 
 - Fixed failing unit test: Added translatable message for new
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-storage-ng-4.5.6/package/yast2-storage-ng.spec 
new/yast2-storage-ng-4.5.7/package/yast2-storage-ng.spec
--- old/yast2-storage-ng-4.5.6/package/yast2-storage-ng.spec    2022-05-23 
15:37:05.000000000 +0200
+++ new/yast2-storage-ng-4.5.7/package/yast2-storage-ng.spec    2022-05-31 
15:16:03.000000000 +0200
@@ -16,7 +16,7 @@
 #
 
 Name:           yast2-storage-ng
-Version:        4.5.6
+Version:        4.5.7
 Release:        0
 Summary:        YaST2 - Storage Configuration
 License:        GPL-2.0-only OR GPL-3.0-only
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-storage-ng-4.5.6/src/lib/y2partitioner/actions/controllers/md.rb 
new/yast2-storage-ng-4.5.7/src/lib/y2partitioner/actions/controllers/md.rb
--- old/yast2-storage-ng-4.5.6/src/lib/y2partitioner/actions/controllers/md.rb  
2022-05-23 15:37:05.000000000 +0200
+++ new/yast2-storage-ng-4.5.7/src/lib/y2partitioner/actions/controllers/md.rb  
2022-05-31 15:16:03.000000000 +0200
@@ -294,7 +294,14 @@
         end
 
         def min_chunk_size
-          [default_chunk_size, Y2Storage::DiskSize.KiB(64)].min
+          case md.md_level.to_sym
+          when :raid0
+            [block_size, Y2Storage::DiskSize.KiB(4)].max # bsc#1200018
+          when :raid10
+            [block_size, page_size, Y2Storage::DiskSize.KiB(4)].max # 
bsc#1200018
+          else # including raid1/5/6
+            [default_chunk_size, Y2Storage::DiskSize.KiB(64)].min
+          end
         end
 
         def max_chunk_size
@@ -312,6 +319,14 @@
           end
         end
 
+        def block_size
+          md.block_size
+        end
+
+        def page_size
+          
Y2Storage::DiskSize.B(Y2Storage::StorageManager.instance.arch.page_size)
+        end
+
         def default_md_parity
           Y2Storage::MdParity.find(:default)
         end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-storage-ng-4.5.6/test/y2partitioner/actions/controllers/md_test.rb 
new/yast2-storage-ng-4.5.7/test/y2partitioner/actions/controllers/md_test.rb
--- 
old/yast2-storage-ng-4.5.6/test/y2partitioner/actions/controllers/md_test.rb    
    2022-05-23 15:37:05.000000000 +0200
+++ 
new/yast2-storage-ng-4.5.7/test/y2partitioner/actions/controllers/md_test.rb    
    2022-05-31 15:16:03.000000000 +0200
@@ -716,6 +716,62 @@
     end
   end
 
+  describe "#min_chunk_size" do
+    # rubocop:disable Layout/LineLength
+    before do
+      controller.md_level = md_level
+      # Prevent unpleasant surprises on different architectures
+      allow_any_instance_of(Y2Storage::Md).to 
receive(:block_size).and_return(Y2Storage::DiskSize.B(512))
+      allow_any_instance_of(Y2Storage::Arch).to 
receive(:page_size).and_return(Y2Storage::DiskSize.KiB(8))
+    end
+    # rubocop:enable Layout/LineLength
+
+    context "when the Md device is a RAID0" do
+      let(:md_level) { Y2Storage::MdLevel::RAID0 }
+
+      it "returns 4 KiB" do
+        size = Y2Storage::DiskSize.KiB(4)
+        expect(controller.chunk_sizes.min).to eq size
+      end
+    end
+
+    context "when the Md device is a RAID1" do
+      let(:md_level) { Y2Storage::MdLevel::RAID1 }
+
+      it "returns 4 KiB" do
+        size = Y2Storage::DiskSize.KiB(4)
+        expect(controller.chunk_sizes.min).to eq size
+      end
+    end
+
+    context "when the Md device is a RAID5" do
+      let(:md_level) { Y2Storage::MdLevel::RAID5 }
+
+      it "returns 64 KiB" do
+        size = Y2Storage::DiskSize.KiB(64)
+        expect(controller.chunk_sizes.min).to eq size
+      end
+    end
+
+    context "when the Md device is a RAID6" do
+      let(:md_level) { Y2Storage::MdLevel::RAID6 }
+
+      it "returns 64 KiB" do
+        size = Y2Storage::DiskSize.KiB(64)
+        expect(controller.chunk_sizes.min).to eq size
+      end
+    end
+
+    context "when the Md device is a RAID10" do
+      let(:md_level) { Y2Storage::MdLevel::RAID10 }
+
+      it "returns the page size (8 KiB)" do
+        size = Y2Storage::DiskSize.KiB(8)
+        expect(controller.chunk_sizes.min).to eq size
+      end
+    end
+  end
+
   describe "#md_parity" do
     it "returns the parity algorithm of the Md device" do
       parity = Y2Storage::MdParity::OFFSET_2

Reply via email to