Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libstorage-ng for openSUSE:Factory checked in at 2026-07-06 12:27:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libstorage-ng (Old) and /work/SRC/openSUSE:Factory/.libstorage-ng.new.1982 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libstorage-ng" Mon Jul 6 12:27:55 2026 rev:347 rq:1363631 version:4.5.339 Changes: -------- --- /work/SRC/openSUSE:Factory/libstorage-ng/libstorage-ng.changes 2026-06-30 15:11:34.092252796 +0200 +++ /work/SRC/openSUSE:Factory/.libstorage-ng.new.1982/libstorage-ng.changes 2026-07-06 12:28:36.783646620 +0200 @@ -1,0 +2,23 @@ +Fri Jul 3 06:57:38 UTC 2026 - [email protected] + +- merge gh#openSUSE/libstorage-ng#1087 +- improved logging +- 4.5.339 + +-------------------------------------------------------------------- +Thu Jul 2 06:41:14 UTC 2026 - [email protected] + +- merge gh#openSUSE/libstorage-ng#1086 +- updated tests +- 4.5.338 + +-------------------------------------------------------------------- +Wed Jul 1 15:14:23 UTC 2026 - [email protected] + +- merge gh#openSUSE/libstorage-ng#1085 +- provide functions for mkfs and tune options using vector of + strings +- use string_view to reduce number of functions +- 4.5.337 + +-------------------------------------------------------------------- Old: ---- libstorage-ng-4.5.336.tar.xz New: ---- libstorage-ng-4.5.339.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libstorage-ng.spec ++++++ --- /var/tmp/diff_new_pack.dELg5r/_old 2026-07-06 12:28:37.615675486 +0200 +++ /var/tmp/diff_new_pack.dELg5r/_new 2026-07-06 12:28:37.619675625 +0200 @@ -18,7 +18,7 @@ %define libname %{name}1 Name: libstorage-ng -Version: 4.5.336 +Version: 4.5.339 Release: 0 Summary: Library for storage management License: GPL-2.0-only ++++++ libstorage-ng-4.5.336.tar.xz -> libstorage-ng-4.5.339.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/LIBVERSION new/libstorage-ng-4.5.339/LIBVERSION --- old/libstorage-ng-4.5.336/LIBVERSION 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/LIBVERSION 2026-07-03 08:57:38.000000000 +0200 @@ -1 +1 @@ -1.104.2 +1.105.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/VERSION new/libstorage-ng-4.5.339/VERSION --- old/libstorage-ng-4.5.336/VERSION 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/VERSION 2026-07-03 08:57:38.000000000 +0200 @@ -1 +1 @@ -4.5.336 +4.5.339 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/integration-tests/filesystems/create-ext4.py new/libstorage-ng-4.5.339/integration-tests/filesystems/create-ext4.py --- old/libstorage-ng-4.5.336/integration-tests/filesystems/create-ext4.py 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/integration-tests/filesystems/create-ext4.py 2026-07-03 08:57:38.000000000 +0200 @@ -23,7 +23,7 @@ ext4 = partition.create_blk_filesystem(FsType_EXT4) ext4.set_label("TEST") -ext4.set_tune_options("-c 10") +ext4.set_tune_options_v2(VectorString([ "-c", "10" ])) mount_point = ext4.create_mount_point("/test") mount_point.set_mount_by(MountByType_LABEL) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/integration-tests/filesystems/create-reiserfs.py new/libstorage-ng-4.5.339/integration-tests/filesystems/create-reiserfs.py --- old/libstorage-ng-4.5.336/integration-tests/filesystems/create-reiserfs.py 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/integration-tests/filesystems/create-reiserfs.py 2026-07-03 08:57:38.000000000 +0200 @@ -23,7 +23,7 @@ reiserfs = partition.create_blk_filesystem(FsType_REISERFS) reiserfs.set_label("TEST") -reiserfs.set_tune_options("-m 10") +reiserfs.set_tune_options_v2(VectorString([ "-m", "10" ])) mount_point = reiserfs.create_mount_point("/test") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/integration-tests/filesystems/tune-ext4.py new/libstorage-ng-4.5.339/integration-tests/filesystems/tune-ext4.py --- old/libstorage-ng-4.5.336/integration-tests/filesystems/tune-ext4.py 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/integration-tests/filesystems/tune-ext4.py 2026-07-03 08:57:38.000000000 +0200 @@ -22,7 +22,7 @@ ext4 = sdc1.get_blk_filesystem() -ext4.set_tune_options("-c 20") +ext4.set_tune_options_v2(VectorString([ "-c", "20" ])) print(staging) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/integration-tests/filesystems/tune-reiserfs.py new/libstorage-ng-4.5.339/integration-tests/filesystems/tune-reiserfs.py --- old/libstorage-ng-4.5.336/integration-tests/filesystems/tune-reiserfs.py 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/integration-tests/filesystems/tune-reiserfs.py 2026-07-03 08:57:38.000000000 +0200 @@ -22,7 +22,7 @@ reiserfs = sdc1.get_blk_filesystem() -reiserfs.set_tune_options("-m 20") +reiserfs.set_tune_options_v2(VectorString([ "-m", "20" ])) print(staging) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/storage/Filesystems/BcachefsImpl.cc new/libstorage-ng-4.5.339/storage/Filesystems/BcachefsImpl.cc --- old/libstorage-ng-4.5.336/storage/Filesystems/BcachefsImpl.cc 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/storage/Filesystems/BcachefsImpl.cc 2026-07-03 08:57:38.000000000 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2024 SUSE LLC + * Copyright (c) [2024-2026] SUSE LLC * * All Rights Reserved. * @@ -54,19 +54,38 @@ { const BlkDevice* blk_device = get_blk_device(); - string cmd_line = MKFS_BCACHEFS_BIN; + if (get_mkfs_options().empty()) + { + SystemCmd::Args cmd_args = { MKFS_BCACHEFS_BIN }; + + if (!get_label().empty()) + cmd_args << "--fs_label=" + get_label(); + + if (!get_uuid().empty()) + cmd_args << "--uuid=" + get_uuid(); + + cmd_args << get_mkfs_options_v2() << blk_device->get_name(); + + wait_for_devices(); + + SystemCmd cmd(cmd_args, SystemCmd::DoThrow); + } + else + { + string cmd_line = MKFS_BCACHEFS_BIN; - if (!get_label().empty()) - cmd_line += " --fs_label=" + quote(get_label()); + if (!get_label().empty()) + cmd_line += " --fs_label=" + quote(get_label()); - if (!get_uuid().empty()) - cmd_line += " --uuid=" + quote(get_uuid()); + if (!get_uuid().empty()) + cmd_line += " --uuid=" + quote(get_uuid()); - cmd_line += " " + get_mkfs_options() + " " + quote(blk_device->get_name()); + cmd_line += " " + get_mkfs_options() + " " + quote(blk_device->get_name()); - wait_for_devices(); + wait_for_devices(); - SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + } if (get_uuid().empty()) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/storage/Filesystems/BlkFilesystem.cc new/libstorage-ng-4.5.339/storage/Filesystems/BlkFilesystem.cc --- old/libstorage-ng-4.5.336/storage/Filesystems/BlkFilesystem.cc 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/storage/Filesystems/BlkFilesystem.cc 2026-07-03 08:57:38.000000000 +0200 @@ -1,6 +1,6 @@ /* * Copyright (c) [2014-2015] Novell, Inc. - * Copyright (c) [2016-2021] SUSE LLC + * Copyright (c) [2016-2026] SUSE LLC * * All Rights Reserved. * @@ -136,6 +136,20 @@ } + const vector<string>& + BlkFilesystem::get_mkfs_options_v2() const + { + return get_impl().get_mkfs_options_v2(); + } + + + void + BlkFilesystem::set_mkfs_options_v2(const vector<string>& mkfs_options_v2) + { + get_impl().set_mkfs_options_v2(mkfs_options_v2); + } + + bool BlkFilesystem::supports_tune_options() const { @@ -157,6 +171,20 @@ } + const vector<string>& + BlkFilesystem::get_tune_options_v2() const + { + return get_impl().get_tune_options_v2(); + } + + + void + BlkFilesystem::set_tune_options_v2(const vector<string>& tune_options_v2) + { + get_impl().set_tune_options_v2(tune_options_v2); + } + + bool BlkFilesystem::supports_shrink() const { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/storage/Filesystems/BlkFilesystem.h new/libstorage-ng-4.5.339/storage/Filesystems/BlkFilesystem.h --- old/libstorage-ng-4.5.336/storage/Filesystems/BlkFilesystem.h 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/storage/Filesystems/BlkFilesystem.h 2026-07-03 08:57:38.000000000 +0200 @@ -1,6 +1,6 @@ /* * Copyright (c) [2014-2015] Novell, Inc. - * Copyright (c) [2016-2022] SUSE LLC + * Copyright (c) [2016-2026] SUSE LLC * * All Rights Reserved. * @@ -91,36 +91,44 @@ */ void set_uuid(const std::string& uuid); + const std::string& get_mkfs_options() const ST_DEPRECATED; + void set_mkfs_options(const std::string& mkfs_options) ST_DEPRECATED; + /** * Get extra options for the filesystem mkfs command. */ - const std::string& get_mkfs_options() const; + const std::vector<std::string>& get_mkfs_options_v2() const; /** - * Set extra options for the filesystem mkfs command. The - * options are injected as-is to the command so must be - * properly quoted. + * Set extra options for the filesystem mkfs command. No quoting required. It is + * undefined where exactly the extra options are inserted into the command line + * options of the external program. */ - void set_mkfs_options(const std::string& mkfs_options); + void set_mkfs_options_v2(const std::vector<std::string>& mkfs_options_v2); /** * Checks whether the filesystem supports tune options. */ bool supports_tune_options() const; + const std::string& get_tune_options() const ST_DEPRECATED; + void set_tune_options(const std::string& tune_options) ST_DEPRECATED; + /** * Get extra options for the filesystem tune command. */ - const std::string& get_tune_options() const; + const std::vector<std::string>& get_tune_options_v2() const; /** - * Set extra options for the filesystem tune command. The - * options are injected as-is to the command so must be - * properly quoted. May not work if the filesystem is mounted. + * Set extra options for the filesystem tune command. No quoting required. It is + * undefined where exactly the extra options are inserted into the command line + * options of the external program. + * + * May not work if the filesystem is mounted. * * Only supported on Ext, Reiserfs and Nilfs2. */ - void set_tune_options(const std::string& tune_options); + void set_tune_options_v2(const std::vector<std::string>& tune_options); /** * Checks whether shrinking the filesystem is supported. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/storage/Filesystems/BlkFilesystemImpl.cc new/libstorage-ng-4.5.339/storage/Filesystems/BlkFilesystemImpl.cc --- old/libstorage-ng-4.5.336/storage/Filesystems/BlkFilesystemImpl.cc 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/storage/Filesystems/BlkFilesystemImpl.cc 2026-07-03 08:57:38.000000000 +0200 @@ -69,7 +69,9 @@ getChildValue(node, "uuid", uuid); getChildValue(node, "mkfs-options", mkfs_options); + getChildValue(node, "mkfs-options-v2", mkfs_options_v2); getChildValue(node, "tune-options", tune_options); + getChildValue(node, "tune-options-v2", tune_options_v2); const xmlNode* resize_info_node = getChildNode(node, "ResizeInfo"); if (resize_info_node) @@ -156,7 +158,9 @@ setChildValueIf(node, "uuid", uuid, !uuid.empty()); setChildValueIf(node, "mkfs-options", mkfs_options, !mkfs_options.empty()); + setChildValueIf(node, "mkfs-options-v2", mkfs_options_v2, !mkfs_options_v2.empty()); setChildValueIf(node, "tune-options", tune_options, !tune_options.empty()); + setChildValueIf(node, "tune-options-v2", tune_options_v2, !tune_options_v2.empty()); if (resize_info.has_value()) { @@ -532,7 +536,7 @@ if (!get_uuid().empty() && supports_modify_uuid()) actions.push_back(make_shared<Action::SetUuid>(get_sid())); - if (!tune_options.empty()) + if (!tune_options.empty() || !tune_options_v2.empty()) actions.push_back(make_shared<Action::SetTuneOptions>(get_sid())); actiongraph.add_chain(actions); @@ -563,7 +567,7 @@ actions.push_back(make_shared<Action::SetUuid>(get_sid())); } - if (get_tune_options() != lhs.get_tune_options()) + if (get_tune_options() != lhs.get_tune_options() || get_tune_options_v2() != lhs.get_tune_options_v2()) { actions.push_back(make_shared<Action::SetTuneOptions>(get_sid())); } @@ -620,7 +624,8 @@ return false; return label == rhs.label && uuid == rhs.uuid && mkfs_options == rhs.mkfs_options && - tune_options == rhs.tune_options; + mkfs_options_v2 == rhs.mkfs_options_v2 && tune_options == rhs.tune_options && + tune_options_v2 == rhs.tune_options_v2; } @@ -635,7 +640,9 @@ storage::log_diff(log, "uuid", uuid, rhs.uuid); storage::log_diff(log, "mkfs-options", mkfs_options, rhs.mkfs_options); + storage::log_diff(log, "mkfs-options-v2", mkfs_options_v2, rhs.mkfs_options_v2); storage::log_diff(log, "tune-options", tune_options, rhs.tune_options); + storage::log_diff(log, "tune-options-v2", tune_options_v2, rhs.tune_options_v2); } @@ -653,8 +660,14 @@ if (!mkfs_options.empty()) out << " mkfs-options:" << mkfs_options; + if (!mkfs_options_v2.empty()) + out << " mkfs-options-v2:" << mkfs_options_v2; + if (!tune_options.empty()) out << " tune-options:" << tune_options; + + if (!tune_options_v2.empty()) + out << " tune-options-v2:" << tune_options_v2; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/storage/Filesystems/BlkFilesystemImpl.h new/libstorage-ng-4.5.339/storage/Filesystems/BlkFilesystemImpl.h --- old/libstorage-ng-4.5.336/storage/Filesystems/BlkFilesystemImpl.h 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/storage/Filesystems/BlkFilesystemImpl.h 2026-07-03 08:57:38.000000000 +0200 @@ -1,6 +1,6 @@ /* * Copyright (c) [2014-2015] Novell, Inc. - * Copyright (c) [2016-2022] SUSE LLC + * Copyright (c) [2016-2026] SUSE LLC * * All Rights Reserved. * @@ -83,11 +83,17 @@ const string& get_mkfs_options() const { return mkfs_options; } void set_mkfs_options(const string& mkfs_options) { Impl::mkfs_options = mkfs_options; } + const vector<string>& get_mkfs_options_v2() const { return mkfs_options_v2; } + void set_mkfs_options_v2(const vector<string>& mkfs_options_v2) { Impl::mkfs_options_v2 = mkfs_options_v2; } + virtual bool supports_tune_options() const { return false; } const string& get_tune_options() const { return tune_options; } void set_tune_options(const string& tune_options) { Impl::tune_options = tune_options; } + const vector<string>& get_tune_options_v2() const { return tune_options_v2; } + void set_tune_options_v2(const vector<string>& tune_options_v2) { Impl::tune_options_v2 = tune_options_v2; } + virtual MountByType get_default_mount_by() const override; virtual vector<MountByType> possible_mount_bys() const override; @@ -193,7 +199,9 @@ string uuid; string mkfs_options; + vector<string> mkfs_options_v2; string tune_options; + vector<string> tune_options_v2; /** * mutable to allow updating cache from const functions. Otherwise diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/storage/Filesystems/BtrfsImpl.cc new/libstorage-ng-4.5.339/storage/Filesystems/BtrfsImpl.cc --- old/libstorage-ng-4.5.336/storage/Filesystems/BtrfsImpl.cc 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/storage/Filesystems/BtrfsImpl.cc 2026-07-03 08:57:38.000000000 +0200 @@ -1,6 +1,6 @@ /* * Copyright (c) 2015 Novell, Inc. - * Copyright (c) [2016-2021] SUSE LLC + * Copyright (c) [2016-2026] SUSE LLC * * All Rights Reserved. * @@ -986,33 +986,66 @@ void Btrfs::Impl::do_create() { - string cmd_line = MKFS_BTRFS_BIN " --force"; + if (get_mkfs_options().empty()) + { + SystemCmd::Args cmd_args = { MKFS_BTRFS_BIN, "--force" }; - if (metadata_raid_level != BtrfsRaidLevel::DEFAULT) - cmd_line += " --metadata=" + toString(metadata_raid_level); + if (metadata_raid_level != BtrfsRaidLevel::DEFAULT) + cmd_args << "--metadata" << toString(metadata_raid_level); - if (data_raid_level != BtrfsRaidLevel::DEFAULT) - cmd_line += " --data=" + toString(data_raid_level); + if (data_raid_level != BtrfsRaidLevel::DEFAULT) + cmd_args << "--data" << toString(data_raid_level); - if (!get_uuid().empty()) - cmd_line += " --uuid=" + quote(get_uuid()); + if (!get_uuid().empty()) + cmd_args << "--uuid" << get_uuid(); - if (!get_mkfs_options().empty()) - cmd_line += " " + get_mkfs_options(); + cmd_args << get_mkfs_options_v2(); - // sort is required for testsuite - vector<const BlkDevice*> blk_devices = std::as_const(*this).get_blk_devices(); - sort(blk_devices.begin(), blk_devices.end(), BlkDevice::compare_by_name); - for (const BlkDevice* blk_device : blk_devices) - cmd_line += " " + quote(blk_device->get_name()); + // sort is required for testsuite + vector<const BlkDevice*> blk_devices = std::as_const(*this).get_blk_devices(); + sort(blk_devices.begin(), blk_devices.end(), BlkDevice::compare_by_name); + for (const BlkDevice* blk_device : blk_devices) + cmd_args << blk_device->get_name(); - wait_for_devices(); + wait_for_devices(); - SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + SystemCmd cmd(cmd_args, SystemCmd::DoThrow); - if (get_uuid().empty()) + if (get_uuid().empty()) + { + parse_mkfs_output(cmd.stdout()); + } + } + else { - parse_mkfs_output(cmd.stdout()); + string cmd_line = MKFS_BTRFS_BIN " --force"; + + if (metadata_raid_level != BtrfsRaidLevel::DEFAULT) + cmd_line += " --metadata=" + toString(metadata_raid_level); + + if (data_raid_level != BtrfsRaidLevel::DEFAULT) + cmd_line += " --data=" + toString(data_raid_level); + + if (!get_uuid().empty()) + cmd_line += " --uuid=" + quote(get_uuid()); + + if (!get_mkfs_options().empty()) + cmd_line += " " + get_mkfs_options(); + + // sort is required for testsuite + vector<const BlkDevice*> blk_devices = std::as_const(*this).get_blk_devices(); + sort(blk_devices.begin(), blk_devices.end(), BlkDevice::compare_by_name); + for (const BlkDevice* blk_device : blk_devices) + cmd_line += " " + quote(blk_device->get_name()); + + wait_for_devices(); + + SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + + if (get_uuid().empty()) + { + parse_mkfs_output(cmd.stdout()); + } } // This would fit better in do_mount(), but that one is a const method diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/storage/Filesystems/ExfatImpl.cc new/libstorage-ng-4.5.339/storage/Filesystems/ExfatImpl.cc --- old/libstorage-ng-4.5.336/storage/Filesystems/ExfatImpl.cc 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/storage/Filesystems/ExfatImpl.cc 2026-07-03 08:57:38.000000000 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) [2018-2023] SUSE LLC + * Copyright (c) [2018-2026] SUSE LLC * * All Rights Reserved. * @@ -69,11 +69,23 @@ { const BlkDevice* blk_device = get_blk_device(); - string cmd_line = MKFS_EXFAT_BIN " " + get_mkfs_options() + " " + quote(blk_device->get_name()); + if (get_mkfs_options().empty()) + { + SystemCmd::Args cmd_args = { MKFS_EXFAT_BIN }; + cmd_args << get_mkfs_options_v2() << blk_device->get_name(); + + wait_for_devices(); + + SystemCmd cmd(cmd_args, SystemCmd::DoThrow); + } + else + { + string cmd_line = MKFS_EXFAT_BIN " " + get_mkfs_options() + " " + quote(blk_device->get_name()); - wait_for_devices(); + wait_for_devices(); - SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + } probe_uuid(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/storage/Filesystems/ExtImpl.cc new/libstorage-ng-4.5.339/storage/Filesystems/ExtImpl.cc --- old/libstorage-ng-4.5.336/storage/Filesystems/ExtImpl.cc 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/storage/Filesystems/ExtImpl.cc 2026-07-03 08:57:38.000000000 +0200 @@ -1,6 +1,6 @@ /* * Copyright (c) [2014-2015] Novell, Inc. - * Copyright (c) [2016-2023] SUSE LLC + * Copyright (c) [2016-2026] SUSE LLC * * All Rights Reserved. * @@ -152,12 +152,24 @@ { const BlkDevice* blk_device = get_blk_device(); - string cmd_line = MKFS_EXT2_BIN " -v -t " + toString(get_type()) + " -F " + - get_mkfs_options() + " " + quote(blk_device->get_name()); + if (get_mkfs_options().empty()) + { + SystemCmd::Args cmd_args = { MKFS_EXT2_BIN, "-v", "-F" }; + cmd_args << "-t" << toString(get_type()) << get_mkfs_options_v2() << blk_device->get_name(); - wait_for_devices(); + wait_for_devices(); + + SystemCmd cmd(cmd_args, SystemCmd::DoThrow); + } + else + { + string cmd_line = MKFS_EXT2_BIN " -v -t " + toString(get_type()) + " -F " + + get_mkfs_options() + " " + quote(blk_device->get_name()); + + wait_for_devices(); - SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + } if (get_uuid().empty()) { @@ -195,9 +207,19 @@ { const BlkDevice* blk_device = get_blk_device(); - string cmd_line = TUNE2FS_BIN " " + get_tune_options() + " " + quote(blk_device->get_name()); + if (get_tune_options().empty()) + { + SystemCmd::Args cmd_args = { TUNE2FS_BIN }; + cmd_args << get_tune_options_v2() << blk_device->get_name(); - SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + SystemCmd cmd(cmd_args, SystemCmd::DoThrow); + } + else + { + string cmd_line = TUNE2FS_BIN " " + get_tune_options() + " " + quote(blk_device->get_name()); + + SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/storage/Filesystems/F2fsImpl.cc new/libstorage-ng-4.5.339/storage/Filesystems/F2fsImpl.cc --- old/libstorage-ng-4.5.336/storage/Filesystems/F2fsImpl.cc 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/storage/Filesystems/F2fsImpl.cc 2026-07-03 08:57:38.000000000 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018 SUSE LLC + * Copyright (c) [2018-2026] SUSE LLC * * All Rights Reserved. * @@ -56,16 +56,30 @@ { const BlkDevice* blk_device = get_blk_device(); - string cmd_line = MKFS_F2FS_BIN " " + get_mkfs_options(); + if (get_mkfs_options().empty()) + { + SystemCmd::Args cmd_args = { MKFS_F2FS_BIN }; + if (!get_label().empty()) + cmd_args << "-l" << get_label(); + cmd_args << get_mkfs_options_v2() << blk_device->get_name(); + + wait_for_devices(); + + SystemCmd cmd(cmd_args, SystemCmd::DoThrow); + } + else + { + string cmd_line = MKFS_F2FS_BIN " " + get_mkfs_options(); + + if (!get_label().empty()) + cmd_line += " -l " + quote(get_label()); - if (!get_label().empty()) - cmd_line += " -l " + quote(get_label()); + cmd_line += " " + quote(blk_device->get_name()); - cmd_line += " " + quote(blk_device->get_name()); + wait_for_devices(); - wait_for_devices(); - - SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + } probe_uuid(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/storage/Filesystems/JfsImpl.cc new/libstorage-ng-4.5.339/storage/Filesystems/JfsImpl.cc --- old/libstorage-ng-4.5.336/storage/Filesystems/JfsImpl.cc 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/storage/Filesystems/JfsImpl.cc 2026-07-03 08:57:38.000000000 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) [2018-2023] SUSE LLC + * Copyright (c) [2018-2026] SUSE LLC * * All Rights Reserved. * @@ -56,12 +56,24 @@ { const BlkDevice* blk_device = get_blk_device(); - string cmd_line = MKFS_JFS_BIN " -q " + get_mkfs_options() + " " + - quote(blk_device->get_name()); + if (get_mkfs_options().empty()) + { + SystemCmd::Args cmd_args = { MKFS_JFS_BIN, "-q" }; + cmd_args << get_mkfs_options_v2() << blk_device->get_name(); + + wait_for_devices(); + + SystemCmd cmd(cmd_args, SystemCmd::DoThrow); + } + else + { + string cmd_line = MKFS_JFS_BIN " -q " + get_mkfs_options() + " " + + quote(blk_device->get_name()); - wait_for_devices(); + wait_for_devices(); - SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + } if (get_uuid().empty()) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/storage/Filesystems/Nilfs2Impl.cc new/libstorage-ng-4.5.339/storage/Filesystems/Nilfs2Impl.cc --- old/libstorage-ng-4.5.336/storage/Filesystems/Nilfs2Impl.cc 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/storage/Filesystems/Nilfs2Impl.cc 2026-07-03 08:57:38.000000000 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) [2022-2023] SUSE LLC + * Copyright (c) [2022-2026] SUSE LLC * * All Rights Reserved. * @@ -56,11 +56,23 @@ { const BlkDevice* blk_device = get_blk_device(); - string cmd_line = MKFS_NILFS2_BIN " -v -f " + get_mkfs_options() + " " + quote(blk_device->get_name()); + if (get_mkfs_options().empty()) + { + SystemCmd::Args cmd_args = { MKFS_NILFS2_BIN, "-v", "-f" }; + cmd_args << get_mkfs_options_v2() << blk_device->get_name(); + + wait_for_devices(); + + SystemCmd cmd(cmd_args, SystemCmd::DoThrow); + } + else + { + string cmd_line = MKFS_NILFS2_BIN " -v -f " + get_mkfs_options() + " " + quote(blk_device->get_name()); - wait_for_devices(); + wait_for_devices(); - SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + } if (get_uuid().empty()) { @@ -96,9 +108,19 @@ { const BlkDevice* blk_device = get_blk_device(); - string cmd_line = NILFS_TUNE_BIN " " + get_tune_options() + " " + quote(blk_device->get_name()); + if (get_tune_options().empty()) + { + SystemCmd::Args cmd_args = { NILFS_TUNE_BIN }; + cmd_args << get_tune_options_v2() << blk_device->get_name(); - SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + SystemCmd cmd(cmd_args, SystemCmd::DoThrow); + } + else + { + string cmd_line = NILFS_TUNE_BIN " " + get_tune_options() + " " + quote(blk_device->get_name()); + + SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/storage/Filesystems/NtfsImpl.cc new/libstorage-ng-4.5.339/storage/Filesystems/NtfsImpl.cc --- old/libstorage-ng-4.5.336/storage/Filesystems/NtfsImpl.cc 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/storage/Filesystems/NtfsImpl.cc 2026-07-03 08:57:38.000000000 +0200 @@ -1,6 +1,6 @@ /* * Copyright (c) 2015 Novell, Inc. - * Copyright (c) [2016-2023] SUSE LLC + * Copyright (c) [2016-2026] SUSE LLC * * All Rights Reserved. * @@ -110,12 +110,24 @@ { const BlkDevice* blk_device = get_blk_device(); - string cmd_line = MKFS_NTFS_BIN " --fast --with-uuid " + get_mkfs_options() + " " + - quote(blk_device->get_name()); + if (get_mkfs_options().empty()) + { + SystemCmd::Args cmd_args = { MKFS_NTFS_BIN, "--fast", "--with-uuid" }; + cmd_args << get_mkfs_options_v2() << blk_device->get_name(); - wait_for_devices(); + wait_for_devices(); - SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + SystemCmd cmd(cmd_args, SystemCmd::DoThrow); + } + else + { + string cmd_line = MKFS_NTFS_BIN " --fast --with-uuid " + get_mkfs_options() + " " + + quote(blk_device->get_name()); + + wait_for_devices(); + + SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + } probe_uuid(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/storage/Filesystems/ReiserfsImpl.cc new/libstorage-ng-4.5.339/storage/Filesystems/ReiserfsImpl.cc --- old/libstorage-ng-4.5.336/storage/Filesystems/ReiserfsImpl.cc 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/storage/Filesystems/ReiserfsImpl.cc 2026-07-03 08:57:38.000000000 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) [2017-2023] SUSE LLC + * Copyright (c) [2017-2026] SUSE LLC * * All Rights Reserved. * @@ -57,12 +57,24 @@ { const BlkDevice* blk_device = get_blk_device(); - string cmd_line = MKFS_REISERFS_BIN " -f -f " + get_mkfs_options() + " " + - quote(blk_device->get_name()); + if (get_mkfs_options().empty()) + { + SystemCmd::Args cmd_args = { MKFS_REISERFS_BIN, "-f", "-f" }; + cmd_args << get_mkfs_options_v2() << blk_device->get_name(); + + wait_for_devices(); + + SystemCmd cmd(cmd_args, SystemCmd::DoThrow); + } + else + { + string cmd_line = MKFS_REISERFS_BIN " -f -f " + get_mkfs_options() + " " + + quote(blk_device->get_name()); - wait_for_devices(); + wait_for_devices(); - SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + } if (get_uuid().empty()) { @@ -104,9 +116,19 @@ { const BlkDevice* blk_device = get_blk_device(); - string cmd_line = TUNEREISERFS_BIN " " + get_tune_options() + " " + quote(blk_device->get_name()); + if (get_tune_options().empty()) + { + SystemCmd::Args cmd_args = { TUNEREISERFS_BIN }; + cmd_args << get_tune_options_v2() << blk_device->get_name(); - SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + SystemCmd cmd(cmd_args, SystemCmd::DoThrow); + } + else + { + string cmd_line = TUNEREISERFS_BIN " " + get_tune_options() + " " + quote(blk_device->get_name()); + + SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/storage/Filesystems/SwapImpl.cc new/libstorage-ng-4.5.339/storage/Filesystems/SwapImpl.cc --- old/libstorage-ng-4.5.336/storage/Filesystems/SwapImpl.cc 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/storage/Filesystems/SwapImpl.cc 2026-07-03 08:57:38.000000000 +0200 @@ -1,6 +1,6 @@ /* * Copyright (c) [2014-2015] Novell, Inc. - * Copyright (c) [2016-2023] SUSE LLC + * Copyright (c) [2016-2026] SUSE LLC * * All Rights Reserved. * @@ -102,14 +102,26 @@ { const BlkDevice* blk_device = get_blk_device(); - string cmd_line = MKSWAP_BIN " -f " + quote(blk_device->get_name()); + if (get_mkfs_options().empty()) + { + SystemCmd::Args cmd_args = { MKSWAP_BIN, "--force" }; + cmd_args << get_mkfs_options_v2() << blk_device->get_name(); + + wait_for_devices(); + + SystemCmd cmd(cmd_args, SystemCmd::DoThrow); + } + else + { + string cmd_line = MKSWAP_BIN " -f " + quote(blk_device->get_name()); - if (!get_mkfs_options().empty()) - cmd_line += " " + get_mkfs_options(); + if (!get_mkfs_options().empty()) + cmd_line += " " + get_mkfs_options(); - wait_for_devices(); + wait_for_devices(); - SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + } if (get_uuid().empty()) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/storage/Filesystems/UdfImpl.cc new/libstorage-ng-4.5.339/storage/Filesystems/UdfImpl.cc --- old/libstorage-ng-4.5.336/storage/Filesystems/UdfImpl.cc 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/storage/Filesystems/UdfImpl.cc 2026-07-03 08:57:38.000000000 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) [2017-2021] SUSE LLC + * Copyright (c) [2017-2026] SUSE LLC * * All Rights Reserved. * @@ -74,16 +74,30 @@ { const BlkDevice* blk_device = get_blk_device(); - string cmd_line = MKFS_UDF_BIN " " + get_mkfs_options() + " --label=" + quote(get_label()); + if (get_mkfs_options().empty()) + { + SystemCmd::Args cmd_args = { MKFS_UDF_BIN, "--label", get_label() }; + if (!get_uuid().empty()) + cmd_args << "--uuid" << get_uuid(); + cmd_args << get_mkfs_options_v2() << blk_device->get_name(); + + wait_for_devices(); + + SystemCmd cmd(cmd_args, SystemCmd::DoThrow); + } + else + { + string cmd_line = MKFS_UDF_BIN " " + get_mkfs_options() + " --label=" + quote(get_label()); - if (!get_uuid().empty()) - cmd_line += " --uuid=" + quote(get_uuid()); + if (!get_uuid().empty()) + cmd_line += " --uuid=" + quote(get_uuid()); - cmd_line += " " + quote(blk_device->get_name()); + cmd_line += " " + quote(blk_device->get_name()); - wait_for_devices(); + wait_for_devices(); - SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + } if (get_uuid().empty()) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/storage/Filesystems/VfatImpl.cc new/libstorage-ng-4.5.339/storage/Filesystems/VfatImpl.cc --- old/libstorage-ng-4.5.336/storage/Filesystems/VfatImpl.cc 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/storage/Filesystems/VfatImpl.cc 2026-07-03 08:57:38.000000000 +0200 @@ -1,6 +1,6 @@ /* * Copyright (c) 2015 Novell, Inc. - * Copyright (c) [2016-2023] SUSE LLC + * Copyright (c) [2016-2026] SUSE LLC * * All Rights Reserved. * @@ -73,11 +73,23 @@ { const BlkDevice* blk_device = get_blk_device(); - string cmd_line = MKFS_FAT_BIN " -v " + get_mkfs_options() + " " + quote(blk_device->get_name()); + if (get_mkfs_options().empty()) + { + SystemCmd::Args cmd_args = { MKFS_FAT_BIN, "-v" }; + cmd_args << get_mkfs_options_v2() << blk_device->get_name(); - wait_for_devices(); + wait_for_devices(); - SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + SystemCmd cmd(cmd_args, SystemCmd::DoThrow); + } + else + { + string cmd_line = MKFS_FAT_BIN " -v " + get_mkfs_options() + " " + quote(blk_device->get_name()); + + wait_for_devices(); + + SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + } // uuid is included in mkfs output diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/storage/Filesystems/XfsImpl.cc new/libstorage-ng-4.5.339/storage/Filesystems/XfsImpl.cc --- old/libstorage-ng-4.5.336/storage/Filesystems/XfsImpl.cc 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/storage/Filesystems/XfsImpl.cc 2026-07-03 08:57:38.000000000 +0200 @@ -1,6 +1,6 @@ /* * Copyright (c) 2015 Novell, Inc. - * Copyright (c) [2016-2023] SUSE LLC + * Copyright (c) [2016-2026] SUSE LLC * * All Rights Reserved. * @@ -98,12 +98,24 @@ { const BlkDevice* blk_device = get_blk_device(); - string cmd_line = MKFS_XFS_BIN " -q -f " + get_mkfs_options() + " " + - quote(blk_device->get_name()); + if (get_mkfs_options().empty()) + { + SystemCmd::Args cmd_args = { MKFS_XFS_BIN, "-q", "-f" }; + cmd_args << get_mkfs_options_v2() << blk_device->get_name(); + + wait_for_devices(); + + SystemCmd cmd(cmd_args, SystemCmd::DoThrow); + } + else + { + string cmd_line = MKFS_XFS_BIN " -q -f " + get_mkfs_options() + " " + + quote(blk_device->get_name()); - wait_for_devices(); + wait_for_devices(); - SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + } if (get_uuid().empty()) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/storage/Utils/SystemCmd.cc new/libstorage-ng-4.5.339/storage/Utils/SystemCmd.cc --- old/libstorage-ng-4.5.336/storage/Utils/SystemCmd.cc 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/storage/Utils/SystemCmd.cc 2026-07-03 08:57:38.000000000 +0200 @@ -192,7 +192,24 @@ string SystemCmd::display_command() const { - return command().empty() ? boost::join(args(), " ") : command(); + if (!command().empty()) + return command(); + + string ret; + + for (const string& s : args()) + { + if (!ret.empty()) + ret += ' '; + + // For display only. No proper check needed. + if (s.empty() || s.find_first_of(" $&();<>|") != string::npos) + ret += quote(s); + else + ret += s; + } + + return ret; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/storage/Utils/SystemCmd.h new/libstorage-ng-4.5.339/storage/Utils/SystemCmd.h --- old/libstorage-ng-4.5.336/storage/Utils/SystemCmd.h 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/storage/Utils/SystemCmd.h 2026-07-03 08:57:38.000000000 +0200 @@ -26,6 +26,7 @@ #include <string> +#include <string_view> #include <vector> #include <functional> #include <initializer_list> @@ -37,6 +38,7 @@ namespace storage { using std::string; + using std::string_view; using std::vector; @@ -60,8 +62,10 @@ vector<string>& get_values() { return values; } const vector<string>& get_values() const { return values; } - Args& operator<<(const char* arg) { values.push_back(arg); return *this; } - Args& operator<<(const string& arg) { values.push_back(arg); return *this; } + Args& operator<<(string_view arg) { values.emplace_back(arg); return *this; } + + Args& operator<<(const vector<string>& args) + { values.insert(values.end(), args.begin(), args.end()); return *this; } private: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/storage/Utils/Text.h new/libstorage-ng-4.5.339/storage/Utils/Text.h --- old/libstorage-ng-4.5.336/storage/Utils/Text.h 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/storage/Utils/Text.h 2026-07-03 08:57:38.000000000 +0200 @@ -1,6 +1,6 @@ /* * Copyright (c) [2004-2015] Novell, Inc. - * Copyright (c) [2016,2018] SUSE LLC + * Copyright (c) [2016-2026] SUSE LLC * * All Rights Reserved. * @@ -26,6 +26,7 @@ #include <string> +#include <string_view> #include <vector> @@ -36,16 +37,15 @@ /** - * Simple class to keep a native and a translated string in - * parallel. Purpose is to be able to log user messages in English. + * Simple class to keep a native and a translated string in parallel. Purpose is to be + * able to log user messages in English even when another locale is selected. */ class Text { public: Text() = default; - Text(const char* native, const char* translated) : native(native), translated(translated) {} - Text(const string& native, const string& translated) : native(native), translated(translated) {} + Text(string_view native, string_view translated) : native(native), translated(translated) {} bool empty() const { return native.empty(); } @@ -67,8 +67,7 @@ { public: - UntranslatedText(const char* native) : Text(native, native) {} - UntranslatedText(const string& native) : Text(native, native) {} + UntranslatedText(string_view native) : Text(native, native) {} }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/testsuite/dependencies/btrfs/create2-mockup.xml new/libstorage-ng-4.5.339/testsuite/dependencies/btrfs/create2-mockup.xml --- old/libstorage-ng-4.5.336/testsuite/dependencies/btrfs/create2-mockup.xml 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/testsuite/dependencies/btrfs/create2-mockup.xml 2026-07-03 08:57:38.000000000 +0200 @@ -5,7 +5,7 @@ <name>/usr/bin/udevadm settle --timeout=20</name> </Command> <Command> - <name>/sbin/mkfs.btrfs --force --metadata=RAID1 --data=RAID0 --nodiscard '/dev/sda' '/dev/sdb' '/dev/sdc' '/dev/sdd'</name> + <name>/sbin/mkfs.btrfs --force --metadata RAID1 --data RAID0 --nodiscard --checksum sha256 /dev/sda /dev/sdb /dev/sdc /dev/sdd</name> <stdout>btrfs-progs v4.19.1 </stdout> <stdout>See http://btrfs.wiki.kernel.org for more information.</stdout> <stdout></stdout> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/testsuite/dependencies/btrfs/create2-staging.xml new/libstorage-ng-4.5.339/testsuite/dependencies/btrfs/create2-staging.xml --- old/libstorage-ng-4.5.336/testsuite/dependencies/btrfs/create2-staging.xml 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/testsuite/dependencies/btrfs/create2-staging.xml 2026-07-03 08:57:38.000000000 +0200 @@ -77,7 +77,9 @@ <sid>46</sid> <metadata-raid-level>RAID1</metadata-raid-level> <data-raid-level>RAID0</data-raid-level> - <mkfs-options>--nodiscard</mkfs-options> + <mkfs-options-v2>--nodiscard</mkfs-options-v2> + <mkfs-options-v2>--checksum</mkfs-options-v2> + <mkfs-options-v2>sha256</mkfs-options-v2> </Btrfs> <BtrfsSubvolume> <sid>47</sid> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.336/testsuite/probe/error1.cc new/libstorage-ng-4.5.339/testsuite/probe/error1.cc --- old/libstorage-ng-4.5.336/testsuite/probe/error1.cc 2026-06-29 15:15:06.000000000 +0200 +++ new/libstorage-ng-4.5.339/testsuite/probe/error1.cc 2026-07-03 08:57:38.000000000 +0200 @@ -31,7 +31,7 @@ BOOST_REQUIRE_EQUAL(probe_messages.size(), 3); BOOST_CHECK_EQUAL(probe_messages[0], "begin:"); BOOST_CHECK_EQUAL(probe_messages[1], "error: message = 'Probing LVM failed', what = 'command '/sbin/pvs " - "--reportformat json --config log { command_names = 0 prefix = \"\" } --units b " + "--reportformat json --config 'log { command_names = 0 prefix = \"\" }' --units b " "--nosuffix --all --options pv_name,pv_uuid,vg_name,vg_uuid,pv_attr,pe_start' " "failed:\n\nstderr:\nerror: system is screwed\n\nexit code:\n42'"); BOOST_CHECK_EQUAL(probe_messages[2], "end:");
