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