Hello community, here is the log from the commit of package libstorage-ng for openSUSE:Factory checked in at 2019-05-05 21:17:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libstorage-ng (Old) and /work/SRC/openSUSE:Factory/.libstorage-ng.new.5148 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libstorage-ng" Sun May 5 21:17:35 2019 rev:54 rq:700487 version:4.1.119 Changes: -------- --- /work/SRC/openSUSE:Factory/libstorage-ng/libstorage-ng.changes 2019-04-28 20:00:27.406898622 +0200 +++ /work/SRC/openSUSE:Factory/.libstorage-ng.new.5148/libstorage-ng.changes 2019-05-05 21:17:37.580657210 +0200 @@ -1,0 +2,20 @@ +Thu May 2 06:04:23 UTC 2019 - weblate-nore...@opensuse.org + +- Translated using Weblate (Dutch) +- Translated using Weblate (Finnish) +- 4.1.119 + +-------------------------------------------------------------------- +Tue Apr 30 08:54:13 UTC 2019 - aschn...@suse.de + +- merge gh#openSUSE/libstorage-ng#644 +- added unit test +- added integration tests +- removed unneeded virtual specifier +- wait for block device +- moved integration tests +- added note +- allow to add devices to existing btrfs (for jsd#SLE-3877) +- 4.1.118 + +-------------------------------------------------------------------- Old: ---- libstorage-ng-4.1.117.tar.xz New: ---- libstorage-ng-4.1.119.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libstorage-ng.spec ++++++ --- /var/tmp/diff_new_pack.yGAp9T/_old 2019-05-05 21:17:38.388659411 +0200 +++ /var/tmp/diff_new_pack.yGAp9T/_new 2019-05-05 21:17:38.388659411 +0200 @@ -18,7 +18,7 @@ %define libname %{name}1 Name: libstorage-ng -Version: 4.1.117 +Version: 4.1.119 Release: 0 Summary: Library for storage management License: GPL-2.0-only ++++++ libstorage-ng-4.1.117.tar.xz -> libstorage-ng-4.1.119.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.1.117/LIBVERSION new/libstorage-ng-4.1.119/LIBVERSION --- old/libstorage-ng-4.1.117/LIBVERSION 2019-04-26 16:52:00.000000000 +0200 +++ new/libstorage-ng-4.1.119/LIBVERSION 2019-05-02 08:04:23.000000000 +0200 @@ -1 +1 @@ -1.10.0 +1.10.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.1.117/VERSION new/libstorage-ng-4.1.119/VERSION --- old/libstorage-ng-4.1.117/VERSION 2019-04-26 16:52:00.000000000 +0200 +++ new/libstorage-ng-4.1.119/VERSION 2019-05-02 08:04:23.000000000 +0200 @@ -1 +1 @@ -4.1.117 +4.1.119 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.1.117/integration-tests/filesystems/btrfs/create-multiple-devices.py new/libstorage-ng-4.1.119/integration-tests/filesystems/btrfs/create-multiple-devices.py --- old/libstorage-ng-4.1.117/integration-tests/filesystems/btrfs/create-multiple-devices.py 2019-04-26 16:52:00.000000000 +0200 +++ new/libstorage-ng-4.1.119/integration-tests/filesystems/btrfs/create-multiple-devices.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,39 +0,0 @@ -#!/usr/bin/python3 - -# requirements: unused partitions /dev/sdc1 and /dev/sdd1 - - -from storage import * -from storageitu import * - - -set_logger(get_logfile_logger()) - -environment = Environment(False) - -storage = Storage(environment) -storage.probe() - -staging = storage.get_staging() - -print(staging) - -sdc1 = Partition.find_by_name(staging, "/dev/sdc1") -sdc1.set_id(ID_LINUX) - -sdd1 = Partition.find_by_name(staging, "/dev/sdd1") -sdd1.set_id(ID_LINUX) - -btrfs = to_btrfs(sdc1.create_blk_filesystem(FsType_BTRFS)) -btrfs.add_device(sdd1) - -btrfs.set_label("TEST") -btrfs.set_metadata_raid_level(BtrfsRaidLevel_RAID1) -btrfs.set_data_raid_level(BtrfsRaidLevel_RAID1) - -mount_point = btrfs.create_mount_point("/test") - -print(staging) - -commit(storage) - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.1.117/integration-tests/filesystems/btrfs/delete-multiple-devices.py new/libstorage-ng-4.1.119/integration-tests/filesystems/btrfs/delete-multiple-devices.py --- old/libstorage-ng-4.1.117/integration-tests/filesystems/btrfs/delete-multiple-devices.py 2019-04-26 16:52:00.000000000 +0200 +++ new/libstorage-ng-4.1.119/integration-tests/filesystems/btrfs/delete-multiple-devices.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,27 +0,0 @@ -#!/usr/bin/python3 - -# requirements: btrfs on /dev/sdc1 and /dev/sdd1 - - -from storage import * -from storageitu import * - - -set_logger(get_logfile_logger()) - -environment = Environment(False) - -storage = Storage(environment) -storage.probe() - -staging = storage.get_staging() - -print(staging) - -sdc1 = Partition.find_by_name(staging, "/dev/sdc1") -sdc1.remove_descendants() - -print(staging) - -commit(storage) - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.1.117/integration-tests/filesystems/btrfs/multiple-devices/create.py new/libstorage-ng-4.1.119/integration-tests/filesystems/btrfs/multiple-devices/create.py --- old/libstorage-ng-4.1.117/integration-tests/filesystems/btrfs/multiple-devices/create.py 1970-01-01 01:00:00.000000000 +0100 +++ new/libstorage-ng-4.1.119/integration-tests/filesystems/btrfs/multiple-devices/create.py 2019-05-02 08:04:23.000000000 +0200 @@ -0,0 +1,39 @@ +#!/usr/bin/python3 + +# requirements: unused partitions /dev/sdc1 and /dev/sdd1 + + +from storage import * +from storageitu import * + + +set_logger(get_logfile_logger()) + +environment = Environment(False) + +storage = Storage(environment) +storage.probe() + +staging = storage.get_staging() + +print(staging) + +sdc1 = Partition.find_by_name(staging, "/dev/sdc1") +sdc1.set_id(ID_LINUX) + +sdd1 = Partition.find_by_name(staging, "/dev/sdd1") +sdd1.set_id(ID_LINUX) + +btrfs = to_btrfs(sdc1.create_blk_filesystem(FsType_BTRFS)) +btrfs.add_device(sdd1) + +btrfs.set_label("TEST") +btrfs.set_metadata_raid_level(BtrfsRaidLevel_RAID1) +btrfs.set_data_raid_level(BtrfsRaidLevel_RAID1) + +mount_point = btrfs.create_mount_point("/test") + +print(staging) + +commit(storage) + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.1.117/integration-tests/filesystems/btrfs/multiple-devices/delete.py new/libstorage-ng-4.1.119/integration-tests/filesystems/btrfs/multiple-devices/delete.py --- old/libstorage-ng-4.1.117/integration-tests/filesystems/btrfs/multiple-devices/delete.py 1970-01-01 01:00:00.000000000 +0100 +++ new/libstorage-ng-4.1.119/integration-tests/filesystems/btrfs/multiple-devices/delete.py 2019-05-02 08:04:23.000000000 +0200 @@ -0,0 +1,27 @@ +#!/usr/bin/python3 + +# requirements: btrfs on /dev/sdc1 and /dev/sdd1 + + +from storage import * +from storageitu import * + + +set_logger(get_logfile_logger()) + +environment = Environment(False) + +storage = Storage(environment) +storage.probe() + +staging = storage.get_staging() + +print(staging) + +sdc1 = Partition.find_by_name(staging, "/dev/sdc1") +sdc1.remove_descendants() + +print(staging) + +commit(storage) + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.1.117/integration-tests/filesystems/btrfs/multiple-devices/extend.py new/libstorage-ng-4.1.119/integration-tests/filesystems/btrfs/multiple-devices/extend.py --- old/libstorage-ng-4.1.117/integration-tests/filesystems/btrfs/multiple-devices/extend.py 1970-01-01 01:00:00.000000000 +0100 +++ new/libstorage-ng-4.1.119/integration-tests/filesystems/btrfs/multiple-devices/extend.py 2019-05-02 08:04:23.000000000 +0200 @@ -0,0 +1,32 @@ +#!/usr/bin/python3 + +# requirements: btrfs on /dev/sdc1 and unused /dev/sdd1 + + +from storage import * +from storageitu import * + + +set_logger(get_logfile_logger()) + +environment = Environment(False) + +storage = Storage(environment) +storage.probe() + +staging = storage.get_staging() + +print(staging) + +sdc1 = Partition.find_by_name(staging, "/dev/sdc1") + +sdd1 = Partition.find_by_name(staging, "/dev/sdd1") +sdd1.set_id(ID_LINUX) + +btrfs = to_btrfs(sdc1.get_blk_filesystem()) +btrfs.add_device(sdd1) + +print(staging) + +commit(storage) + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.1.117/integration-tests/filesystems/btrfs/multiple-devices/reduce.py new/libstorage-ng-4.1.119/integration-tests/filesystems/btrfs/multiple-devices/reduce.py --- old/libstorage-ng-4.1.117/integration-tests/filesystems/btrfs/multiple-devices/reduce.py 1970-01-01 01:00:00.000000000 +0100 +++ new/libstorage-ng-4.1.119/integration-tests/filesystems/btrfs/multiple-devices/reduce.py 2019-05-02 08:04:23.000000000 +0200 @@ -0,0 +1,34 @@ +#!/usr/bin/python3 + +# requirements: btrfs on /dev/sdc1 and /dev/sdd1 + +# note: removing devices from btrfs is not supported by libstorage-ng +# so do not use it in production code + + +from storage import * +from storageitu import * + + +set_logger(get_logfile_logger()) + +environment = Environment(False) + +storage = Storage(environment) +storage.probe() + +staging = storage.get_staging() + +print(staging) + +sdc1 = Partition.find_by_name(staging, "/dev/sdc1") + +sdd1 = Partition.find_by_name(staging, "/dev/sdd1") + +btrfs = to_btrfs(sdc1.get_blk_filesystem()) +btrfs.remove_device(sdd1) + +print(staging) + +commit(storage) + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.1.117/po/fi.po new/libstorage-ng-4.1.119/po/fi.po --- old/libstorage-ng-4.1.117/po/fi.po 2019-04-26 16:52:00.000000000 +0200 +++ new/libstorage-ng-4.1.119/po/fi.po 2019-05-02 08:04:23.000000000 +0200 @@ -12,16 +12,16 @@ "Project-Id-Version: libstorage.fi\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-02-25 15:22+0100\n" -"PO-Revision-Date: 2018-12-02 22:02+0000\n" +"PO-Revision-Date: 2019-05-02 06:04+0000\n" "Last-Translator: Tommi Nieminen <softw...@legisign.org>\n" -"Language-Team: Finnish <https://l10n.opensuse.org/projects/libstorage/ng-" -"master/fi/>\n" +"Language-Team: Finnish <https://l10n.opensuse.org/projects/libstorage/" +"ng-master/fi/>\n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 2.18\n" +"X-Generator: Weblate 3.3\n" msgid "" "\n" @@ -35,7 +35,7 @@ #. %1$d is replaced by the number of elements omitted #, c-format msgid "%1$d more" -msgstr "" +msgstr "%1$d lisää" #. TRANSLATORS: #. %1$s is replaced with the device name (e.g. /dev/sdc1), @@ -50,14 +50,14 @@ #. %2$s is replaced by the number of elements omitted #, c-format msgid "%1$s and %2$d more" -msgstr "" +msgstr "%1$s ja %2$d lisää" #. TRANSLATORS: used to construct list of values #. %1$s is replaced by first value #. %2$s is replaced by second value -#, fuzzy, c-format +#, c-format msgid "%1$s and %2$s" -msgstr "%1$s (%2$s)" +msgstr "%1$s ja %2$s" #. TRANSLATORS: #. %1$s is replaced with the the bcache name (e.g. /dev/bcache0), @@ -70,9 +70,9 @@ #. TRANSLATORS: used to construct list of values #. %1$s is replaced by first value #. %2$s is replaced by second value -#, fuzzy, c-format +#, c-format msgid "%1$s, %2$s" -msgstr "%1$s (%2$s)" +msgstr "%1$s, %2$s" #. TRANSLATORS: displayed before action, #. %1$s is replaced by device name (e.g. /dev/sda1) @@ -291,15 +291,16 @@ #. TRANSLATORS: displayed before action, #. %1$s is replaced by subvolume path (e.g. var/log), #. %2$s is replaced by block device name (e.g. /dev/sda1) -#, fuzzy, c-format +#, c-format msgid "Clear option 'no copy on write' for subvolume %1$s on %2$s" -msgstr "Luodaan alitaltio %1$s laitteeseen %2$s" +msgstr "" +"Poista valinta ”kopioi kirjoitettaessa” alitaltiolta %1$s laitteella %2$s" #. TRANSLATORS: displayed before action, #. %1$s is replaced by device name (e.g. /dev/sda) #, c-format msgid "Clear protective MBR boot flag of GPT on %1$s" -msgstr "" +msgstr "Poista GPT:n MBR-suojakäynnistyslippu laitteelta %1$s" #. TRANSLATORS: displayed during action, #. %1$s is replaced by partition name (e.g. /dev/sda1) @@ -319,12 +320,13 @@ #, c-format msgid "Clearing option 'no copy on write' for subvolume %1$s on %2$s" msgstr "" +"Poistetaan valntaa ”kopioi kirjoittamatta” alitaltiolta %1$s laitteella %2$s" #. TRANSLATORS: displayed during action, #. %1$s is replaced by device name (e.g. /dev/sda) #, c-format msgid "Clearing protective MBR boot flag of GPT on %1$s" -msgstr "" +msgstr "Poistetaan GPT:n MBR-suojakäynnistyslippua laitteelta %1$s" #. TRANSLATORS: #. %1$s is replaced with the md level (e.g. RAID1), @@ -335,11 +337,13 @@ #. %6$s is replaced with a comma-spearated list of the devices #. the RAID is built from and their sizes: e.g. #. /dev/sda (512 GiB), /dev/sdb (512 GiB), /dev/sdc (512 GiB) -#, fuzzy, c-format +#, c-format msgid "" "Create %1$s %2$s (%3$s) for %4$s with %5$s\n" "from %6$s" -msgstr "Luo osio %1$s (%2$s)" +msgstr "" +"Luo %1$s %2$s (%3$s) liitospisteeseen %4$s tiedostojärjestelmällä %5$s\n" +"laitteista %6$s" #. TRANSLATORS: #. %1$s is replaced with the md level (e.g. RAID1), @@ -348,11 +352,13 @@ #. %4$s is replaced with a comma-spearated list of the devices #. the RAID is built from and their sizes: e.g. #. /dev/sda (512 GiB), /dev/sdb (512 GiB), /dev/sdc (512 GiB) -#, fuzzy, c-format +#, c-format msgid "" "Create %1$s %2$s (%3$s) for swap\n" "from %4$s" -msgstr "Luo %1$s laitteelle %2$s (%3$s)" +msgstr "" +"Luo %1$s %2$s (%3$s) sivutusta varten\n" +"laitteista %4$s" #. TRANSLATORS: #. %1$s is replaced with the md level (e.g. RAID1), @@ -361,9 +367,9 @@ #. %4$s is replaced with a comma-spearated list of the devices #. the RAID is built from and their sizes: e.g. #. /dev/sda (512 GiB), /dev/sdb (512 GiB), /dev/sdc (512 GiB) -#, fuzzy, c-format +#, c-format msgid "Create %1$s %2$s (%3$s) from %4$s" -msgstr "Luo %1$s laitteelle %2$s (%3$s)" +msgstr "Luo %1$s %2$s (%3$s) laitteista %4$s" #. TRANSLATORS: #. %1$s is replaced with the md name (e.g. /dev/md0), @@ -373,11 +379,13 @@ #. %5$s is replaced with a comma-spearated list of the devices #. the RAID is built from and their sizes: e.g. #. /dev/sda (512 GiB), /dev/sdb (512 GiB), /dev/sdc (512 GiB) -#, fuzzy, c-format +#, c-format msgid "" "Create %1$s %2$s (%3$s) with %4$s\n" "from %5$s" -msgstr "Luo osio %1$s (%2$s)" +msgstr "" +"Luo %1$s %2$s (%3$s) tiedostojärjestelmällä %4$s\n" +"laitteista %5$s" #. TRANSLATORS: displayed before action, #. %1$s is replaced by file system name (e.g. ext4), @@ -390,16 +398,16 @@ #. TRANSLATORS: displayed before action, #. %1$s is replaced by device name (e.g. /dev/bcache0), #. %2$s is replaced by size (e.g. 2 GiB) -#, fuzzy, c-format +#, c-format msgid "Create Bcache %1$s (%2$s)" -msgstr "Luo kiintolevy %1$s (%2$s)" +msgstr "Luo Bcache %1$s (%2$s)" #. TRANSLATORS: displayed before action, #. %1$s is replaced by device name (e.g. /dev/sda1), #. %2$s is replaced by size (e.g. 2 GiB) -#, fuzzy, c-format +#, c-format msgid "Create Bcache cache set on %1$s (%2$s)" -msgstr "Luo looginen osio %1$s (%2$s)" +msgstr "Luo Bcache-välimuistijoukko %1$s (%2$s)" #. TRANSLATORS: displayed before action, #. %1$s is replaced by device name (e.g. /dev/sda) @@ -417,9 +425,9 @@ #. %1$s is replaced with the logical volume name (e.g. root), #. %2$s is replaced with the size (e.g. 2 GiB), #. %3$s is replaced with the volume group name (e.g. system) -#, fuzzy, c-format +#, c-format msgid "Create LVM logical volume %1$s (%2$s) on volume group %3$s" -msgstr "Luo looginen taltio %1$s (%2$s) taltioryhmään %3$s" +msgstr "Luo looginen LVM-taltio %1$s (%2$s) taltioryhmään %3$s" #. TRANSLATORS: #. %1$s is replaced with the logical volume name (e.g. root), @@ -427,48 +435,52 @@ #. %3$s is replaced with the volume group name (e.g. system), #. %4$s is replaced with the mount point (e.g. /home), #. %5$s is replaced with the file system name (e.g. ext4) -#, fuzzy, c-format +#, c-format msgid "" "Create LVM logical volume %1$s (%2$s) on volume group %3$s for %4$s with %5$s" -msgstr "Luo looginen taltio %1$s (%2$s) taltioryhmään %3$s" +msgstr "" +"Luo looginen LVM-taltio %1$s (%2$s) taltioryhmään %3$s, liitospiste %4$s ja " +"tiedostojärjestelmä %5$s" #. TRANSLATORS: #. %1$s is replaced with the logical volume name (e.g. root), #. %2$s is replaced with the size (e.g. 2 GiB), #. %3$s is replaced with the volume group name (e.g. system) -#, fuzzy, c-format +#, c-format msgid "Create LVM logical volume %1$s (%2$s) on volume group %3$s for swap" -msgstr "Luo looginen taltio %1$s (%2$s) taltioryhmään %3$s" +msgstr "Luo looginen LVM-taltio %1$s (%2$s) taltioryhmään %3$s sivutusta varten" #. TRANSLATORS: #. %1$s is replaced with the logical volume name (e.g. root), #. %2$s is replaced with the size (e.g. 2 GiB), #. %3$s is replaced with the volume group name (e.g. system), #. %4$s is replaced with the file system name (e.g. ext4) -#, fuzzy, c-format +#, c-format msgid "Create LVM logical volume %1$s (%2$s) on volume group %3$s with %4$s" -msgstr "Luo looginen taltio %1$s (%2$s) taltioryhmään %3$s" +msgstr "" +"Luo looginen LVM-taltio %1$s (%2$s) taltioryhmään %3$s, tiedostojärjestelmä " +"%4$s" #. TRANSLATORS: #. %1$s is replaced with the partition name (e.g. /dev/sda1), #. %2$s is replaced with the size (e.g. 2 GiB) -#, fuzzy, c-format +#, c-format msgid "Create LVM physical volume over %1$s (%2$s)" -msgstr "Luo fyysinen taltio laitteelle %1$s" +msgstr "Luo fyysinen LVM-taltio laitteelle %1$s (%2$s)" #. TRANSLATORS: #. %1$s is replaced with the partition name (e.g. /dev/sda1), #. %2$s is replaced with the size (e.g. 2 GiB) -#, fuzzy, c-format +#, c-format msgid "Create LVM physical volume over encrypted %1$s (%2$s)" -msgstr "Luo fyysinen taltio laitteelle %1$s" +msgstr "Luo fyysinen LVM-taltio salatulle laitteelle %1$s (%2$s)" #. TRANSLATORS: #. %1$s is replaced with the partition name (e.g. /dev/sda1), #. %2$s is replaced with the size (e.g. 2 GiB) -#, fuzzy, c-format +#, c-format msgid "Create LVM volume device over %1$s (%2$s)" -msgstr "Luo taltioryhmä %1$s (%2$s)" +msgstr "Luo LVM-taltiolaite osiolle %1$s (%2$s)" #. TRANSLATORS: displayed before action, #. %1$s is replaced by RAID level (e.g. RAID0), @@ -476,13 +488,13 @@ #. %3$s is replaced by size (e.g. 2 GiB), #. %4$s is replaced by one or more devices (e.g /dev/sda1 (1 GiB) and #. /dev/sdb2 (1 GiB)) -#, fuzzy, c-format +#, c-format msgid "Create MD %1$s %2$s (%3$s) from %4$s" -msgstr "Luo %1$s laitteelle %2$s (%3$s)" +msgstr "Luo MD %1$s %2$s (%3$s) laitteista %4$s" #. TRANSLATORS: displayed before action, #. %1$s is replaced by device name (e.g. /dev/sda) -#, fuzzy, c-format +#, c-format msgid "Create MS-DOS partition table on %1$s" msgstr "Luo MS-DOS-osiotaulukko laitteelle %1$s" @@ -490,9 +502,9 @@ #. %1$s is replaced with the bcache name (e.g. /dev/bcache0), #. %2$s is replaced with the device name (e.g. /dev/sda1), #. %3$s is replaced with the size (e.g. 2 GiB) -#, fuzzy, c-format +#, c-format msgid "Create bcache %1$s on %2$s (%3$s)" -msgstr "Luo %1$s laitteelle %2$s (%3$s)" +msgstr "Luo Bcache %1$s laitteelle %2$s (%3$s)" #. TRANSLATORS: #. %1$s is replaced with the bcache name (e.g. /dev/bcache0), @@ -500,26 +512,28 @@ #. %3$s is replaced with the size (e.g. 2 GiB), #. %4$s is replaced with the mount point (e.g. /home), #. %5$s is replaced with the file system name (e.g. ext4) -#, fuzzy, c-format +#, c-format msgid "Create bcache %1$s on %2$s (%3$s) for %4$s with %5$s" -msgstr "Luo osio %1$s (%2$s)" +msgstr "" +"Luo Bcache %1$s laitteelle %2$s (%3$s), liitospiste %4$s ja " +"tiedostojärjestelmä %5$s" #. TRANSLATORS: #. %1$s is replaced with the bcache name (e.g. /dev/bcache0), #. %2$s is replaced with the device name (e.g. /dev/sda1), #. %3$s is replaced with the size (e.g. 2 GiB) -#, fuzzy, c-format +#, c-format msgid "Create bcache %1$s on %2$s (%3$s) for swap" -msgstr "Luo %1$s laitteelle %2$s (%3$s)" +msgstr "Luo Bcache %1$s laitteelle %2$s (%3$s) sivutusta varten" #. TRANSLATORS: #. %1$s is replaced with the bcache name (e.g. /dev/bcache0), #. %2$s is replaced with the device name (e.g. /dev/sda1), #. %3$s is replaced with the size (e.g. 2 GiB), #. %4$s is replaced with the file system name (e.g. ext4) -#, fuzzy, c-format +#, c-format msgid "Create bcache %1$s on %2$s (%3$s) with %4$s" -msgstr "Luo %1$s laitteelle %2$s (%3$s)" +msgstr "Luo Bcache %1$s laitteelle %2$s (%3$s) tiedostojärjestelmänä %4$s" #. TRANSLATORS: #. %1$s is replaced with the md name (e.g. /dev/md0), @@ -528,11 +542,13 @@ #. %4$s is replaced with a comma-spearated list of the devices #. the RAID is built from and their sizes: e.g. #. /dev/sda (512 GiB), /dev/sdb (512 GiB), /dev/sdc (512 GiB) -#, fuzzy, c-format +#, c-format msgid "" "Create encrypted %1$s %2$s (%3$s)\n" "from %4$s" -msgstr "Luo laajennettu osio %1$s (%2$s)" +msgstr "" +"Luo salattu %1$s %2$s (%3$s)\n" +"laitteista %4$s" #. TRANSLATORS: #. %1$s is replaced with the md name (e.g. /dev/md0), @@ -543,11 +559,13 @@ #. %6$s is replaced with a comma-spearated list of the devices #. the RAID is built from and their sizes: e.g. #. /dev/sda (512 GiB), /dev/sdb (512 GiB), /dev/sdc (512 GiB) -#, fuzzy, c-format +#, c-format msgid "" "Create encrypted %1$s %2$s (%3$s) for %4$s with %5$s\n" "from %6$s" -msgstr "Luo laajennettu osio %1$s (%2$s)" +msgstr "" +"Luo salattu %1$s %2$s (%3$s), liitospiste %4$s ja tiedostojärjestelmä %5$s,\n" +"laitteista %6$s" #. TRANSLATORS: #. %1$s is replaced with the md level (e.g. RAID1), @@ -556,11 +574,13 @@ #. %4$s is replaced with a comma-spearated list of the devices #. the RAID is built from and their sizes: e.g. #. /dev/sda (512 GiB), /dev/sdb (512 GiB), /dev/sdc (512 GiB) -#, fuzzy, c-format +#, c-format msgid "" "Create encrypted %1$s %2$s (%3$s) for swap\n" "from %4$s" -msgstr "Luo laajennettu osio %1$s (%2$s)" +msgstr "" +"Luo salattu %1$s %2$s (%3$s) sivutusta varten\n" +"laitteista %4$s" #. TRANSLATORS: #. %1$s is replaced with the md name (e.g. /dev/md0), @@ -570,19 +590,21 @@ #. %5$s is replaced with a comma-spearated list of the devices #. the RAID is built from and their sizes: e.g. #. /dev/sda (512 GiB), /dev/sdb (512 GiB), /dev/sdc (512 GiB) -#, fuzzy, c-format +#, c-format msgid "" "Create encrypted %1$s %2$s (%3$s) with %4$s\n" "from %5$s" -msgstr "Luo laajennettu osio %1$s (%2$s)" +msgstr "" +"Luo salattu %1$s %2$s (%3$s) tiedostojärjestelmän %4$s\n" +"laitteista %5$s" #. TRANSLATORS: #. %1$s is replaced with the logical volume name (e.g. root), #. %2$s is replaced with the size (e.g. 2 GiB), #. %3$s is replaced with the volume group name (e.g. system) -#, fuzzy, c-format +#, c-format msgid "Create encrypted LVM logical volume %1$s (%2$s) on volume group %3$s" -msgstr "Luo looginen taltio %1$s (%2$s) taltioryhmään %3$s" +msgstr "Luo salattu looginen LVM-taltio %1$s (%2$s) taltioryhmään %3$s" #. TRANSLATORS: #. %1$s is replaced with the logical volume name (e.g. root), @@ -590,39 +612,45 @@ #. %3$s is replaced with the volume group name (e.g. system), #. %4$s is replaced with the mount point (e.g. /home), #. %5$s is replaced with the file system name (e.g. ext4) -#, fuzzy, c-format +#, c-format msgid "" "Create encrypted LVM logical volume %1$s (%2$s) on volume group %3$s for " "%4$s with %5$s" -msgstr "Luo looginen taltio %1$s (%2$s) taltioryhmään %3$s" +msgstr "" +"Luo salattu looginen LVM-taltio %1$s (%2$s) taltioryhmään %3$s, liitospiste " +"%4$s ja tiedostojärjestelmä %5$s" #. TRANSLATORS: #. %1$s is replaced with the logical volume name (e.g. root), #. %2$s is replaced with the size (e.g. 2 GiB), #. %3$s is replaced with the volume group name (e.g. system) -#, fuzzy, c-format +#, c-format msgid "" "Create encrypted LVM logical volume %1$s (%2$s) on volume group %3$s for swap" -msgstr "Luo looginen taltio %1$s (%2$s) taltioryhmään %3$s" +msgstr "" +"Luo salattu looginen LVM-taltio %1$s (%2$s) taltioryhmään %3$s sivutusta " +"varten" #. TRANSLATORS: #. %1$s is replaced with the logical volume name (e.g. root), #. %2$s is replaced with the size (e.g. 2 GiB), #. %3$s is replaced with the volume group name (e.g. system), #. %4$s is replaced with the file system name (e.g. ext4) -#, fuzzy, c-format +#, c-format msgid "" "Create encrypted LVM logical volume %1$s (%2$s) on volume group %3$s with " "%4$s" -msgstr "Luo looginen taltio %1$s (%2$s) taltioryhmään %3$s" +msgstr "" +"Luo salattu looginen LVM-taltio %1$s (%2$s) taltioryhmään %3$s " +"tiedostojärjestelmänä %4$s" #. TRANSLATORS: #. %1$s is replaced with the bcache name (e.g. /dev/bcache0), #. %2$s is replaced with the device name (e.g. /dev/sda1), #. %3$s is replaced with the size (e.g. 2 GiB) -#, fuzzy, c-format +#, c-format msgid "Create encrypted bcache %1$s on %2$s (%3$s)" -msgstr "Luo %1$s laitteelle %2$s (%3$s)" +msgstr "Luo salattu Bcache %1$s laitteelle %2$s (%3$s)" #. TRANSLATORS: #. %1$s is replaced with the bcache name (e.g. /dev/bcache0), @@ -630,70 +658,74 @@ #. %3$s is replaced with the size (e.g. 2 GiB), #. %4$s is replaced with the mount point (e.g. /home), #. %5$s is replaced with the file system name (e.g. ext4) -#, fuzzy, c-format +#, c-format msgid "Create encrypted bcache %1$s on %2$s (%3$s) for %4$s with %5$s" -msgstr "Luo laajennettu osio %1$s (%2$s)" +msgstr "" +"Luo salattu Bcache %1$s laitteelle %2$s (%3$s), liitospiste %4$s ja " +"tiedostojärjestelmä %5$s" #. TRANSLATORS: #. %1$s is replaced with the bcache name (e.g. /dev/bcache0), #. %2$s is replaced with the device name (e.g. /dev/sda1), #. %3$s is replaced with the size (e.g. 2 GiB) -#, fuzzy, c-format +#, c-format msgid "Create encrypted bcache %1$s on %2$s (%3$s) for swap" -msgstr "Luo laajennettu osio %1$s (%2$s)" +msgstr "Luo salattu Bcache %1$s laitteelle %2$s (%3$s) sivutusta varten" #. TRANSLATORS: #. %1$s is replaced with the bcache name (e.g. /dev/bcache0), #. %2$s is replaced with the device name (e.g. /dev/sda1), #. %3$s is replaced with the size (e.g. 2 GiB), #. %4$s is replaced with the file system name (e.g. ext4) -#, fuzzy, c-format +#, c-format msgid "Create encrypted bcache %1$s on %2$s (%3$s) with %4$s" -msgstr "Luo laajennettu osio %1$s (%2$s)" +msgstr "" +"Luo salattu Bcache %1$s laitteelle %2$s (%3$s) tiedostojärjestelmänä %4$s" #. TRANSLATORS: #. %1$s is replaced with the partition name (e.g. /dev/sda1), #. %2$s is replaced with the size (e.g. 2 GiB) -#, fuzzy, c-format +#, c-format msgid "Create encrypted partition %1$s (%2$s)" -msgstr "Luo laajennettu osio %1$s (%2$s)" +msgstr "Luo salattu osio %1$s (%2$s)" #. TRANSLATORS: #. %1$s is replaced with the partition name (e.g. /dev/sda1), #. %2$s is replaced with the size (e.g. 2 GiB) -#, fuzzy, c-format +#, c-format msgid "Create encrypted partition %1$s (%2$s) as LVM physical volume" -msgstr "Luo laajennettu osio %1$s (%2$s)" +msgstr "Luo salattu osio %1$s (%2$s) fyysiseksi LVM-osioksi" #. TRANSLATORS: #. %1$s is replaced with the partition name (e.g. /dev/sda1), #. %2$s is replaced with the size (e.g. 2 GiB), #. %3$s is replaced with the mount point (e.g. /home), #. %4$s is replaced with the file system name (e.g. ext4) -#, fuzzy, c-format +#, c-format msgid "Create encrypted partition %1$s (%2$s) for %3$s with %4$s" -msgstr "Luo laajennettu osio %1$s (%2$s)" +msgstr "" +"Luo salattu osio %1$s (%2$s), liitospiste %3$s ja tiedostojärjestelmä %4$s" #. TRANSLATORS: #. %1$s is replaced with the partition name (e.g. /dev/sda1), #. %2$s is replaced with the size (e.g. 2 GiB) -#, fuzzy, c-format +#, c-format msgid "Create encrypted partition %1$s (%2$s) for swap" -msgstr "Luo laajennettu osio %1$s (%2$s)" +msgstr "Luo salattu osio %1$s (%2$s) sivutusta varten" #. TRANSLATORS: #. %1$s is replaced with the partition name (e.g. /dev/sda1), #. %2$s is replaced with the size (e.g. 2 GiB), #. %3$s is replaced with the file system name (e.g. ext4) -#, fuzzy, c-format +#, c-format msgid "Create encrypted partition %1$s (%2$s) with %3$s" -msgstr "Luo laajennettu osio %1$s (%2$s)" +msgstr "Luo salattu osio %1$s (%2$s) tiedostojärjestelmänä %3$s" #. TRANSLATORS: displayed before action, #. %1$s is replaced by device name (e.g. /dev/sda1) -#, fuzzy, c-format +#, c-format msgid "Create encryption layer device on %1$s" -msgstr "Aseta salattu silmukkalaite %1$s" +msgstr "Luo salattu taso laitteelle %1$s" #. TRANSLATORS: displayed before action, #. %1$s is replaced by partition name (e.g. /dev/sda1), @@ -704,16 +736,16 @@ #. TRANSLATORS: #. %1$s is replaced with the names of the devices separated by comma (e.g. /dev/sda1, /dev/sda2) -#, fuzzy, c-format +#, c-format msgid "Create file system btrfs on %1$s" -msgstr "Luo fyysinen taltio laitteelle %1$s" +msgstr "Luo Btrfs-tiedostojärjestelmä laitteille %1$s" #. TRANSLATORS: #. %1$s is replaced with the names of the devices separated by comma (e.g. /dev/sda1, /dev/sda2), #. %2$s is replaced with the mount point (e.g. /home) #, c-format msgid "Create file system btrfs on %1$s and mount at %2$s" -msgstr "" +msgstr "Luo Btrfs-tiedostojärjestelmä laitteelle %1$s ja liitä se kohtaan %2$s" #. TRANSLATORS: displayed before action, #. %1$s is replaced by the device name (e.g. /dev/vda), @@ -725,15 +757,15 @@ #. TRANSLATORS: displayed before action, #. %1$s is replaced by partition name (e.g. /dev/dasda1), #. %2$s is replaced by size (e.g. 2 GiB) -#, fuzzy, c-format +#, c-format msgid "Create implicit partition %1$s (%2$s)" -msgstr "Luo looginen osio %1$s (%2$s)" +msgstr "Luo implisiittinen osio %1$s (%2$s)" #. TRANSLATORS: displayed before action, #. %1$s is replaced by device name (e.g. /dev/dasda) -#, fuzzy, c-format +#, c-format msgid "Create implicit partition table on %1$s" -msgstr "Luo DASD-osiotaulukko laitteelle %1$s" +msgstr "Luo implisiittinen osiotaulukko laitteelle %1$s" #. TRANSLATORS: displayed before action, #. %1$s is replaced by partition name (e.g. /dev/sda1), @@ -764,40 +796,40 @@ #. %1$s is replaced with the partition name (e.g. /dev/sda1), #. %2$s is replaced with the size (e.g. 2 GiB), #. %3$s is replaced with the partition id string (e.g. Linux LVM) -#, fuzzy, c-format +#, c-format msgid "Create partition %1$s (%2$s) as %3$s" -msgstr "Luo osio %1$s (%2$s)" +msgstr "Luo osio %1$s (%2$s) tunnisteenaan %3$s" #. TRANSLATORS: #. %1$s is replaced with the partition name (e.g. /dev/sda1), #. %2$s is replaced with the size (e.g. 2 GiB) -#, fuzzy, c-format +#, c-format msgid "Create partition %1$s (%2$s) as LVM physical volume" -msgstr "Luo osio %1$s (%2$s)" +msgstr "Luo osio %1$s (%2$s) fyysiseksi LVM-taltioksi" #. TRANSLATORS: #. %1$s is replaced with the partition name (e.g. /dev/sda1), #. %2$s is replaced with the size (e.g. 2 GiB), #. %3$s is replaced with the mount point (e.g. /home), #. %4$s is replaced with the file system name (e.g. ext4) -#, fuzzy, c-format +#, c-format msgid "Create partition %1$s (%2$s) for %3$s with %4$s" -msgstr "Luo osio %1$s (%2$s)" +msgstr "Luo osio %1$s (%2$s), liitospiste %3$s ja tiedostojärjestelmä %4$s" #. TRANSLATORS: #. %1$s is replaced with the partition name (e.g. /dev/sda1), #. %2$s is replaced with the size (e.g. 2 GiB) -#, fuzzy, c-format +#, c-format msgid "Create partition %1$s (%2$s) for swap" -msgstr "Luo osio %1$s (%2$s)" +msgstr "Luo osio %1$s (%2$s) sivutusta varten" #. TRANSLATORS: #. %1$s is replaced with the partition name (e.g. /dev/sda1), #. %2$s is replaced with the size (e.g. 2 GiB), #. %3$s is replaced with the file system name (e.g. ext4) -#, fuzzy, c-format +#, c-format msgid "Create partition %1$s (%2$s) with %3$s" -msgstr "Luo osio %1$s (%2$s)" +msgstr "Luo osio %1$s (%2$s) tiedostojärjestelmällä %3$s" #. TRANSLATORS: displayed before action, #. %1$s is replaced by device name (e.g. /dev/sda1) @@ -825,17 +857,17 @@ #. TRANSLATORS: #. %1$s is replaced with the subvolume path (e.g. var/log), #. %2$s is replaced with the block device name (e.g. /dev/sda1) -#, fuzzy, c-format +#, c-format msgid "Create subvolume %1$s on %2$s with option 'no copy on write'" -msgstr "Luo alitaltio %1$s laitteelle %2$s" +msgstr "Luo alitaltio %1$s laitteelle %2$s valinnalla ”kopioi kirjoittamatta”" #. TRANSLATORS: displayed before action, #. %1$s is replaced by logical volume name (e.g. root), #. %2$s is replaced by size (e.g. 2GiB), #. %3$s is replaced by volume group name (e.g. system) -#, fuzzy, c-format +#, c-format msgid "Create thin logical volume %1$s (%2$s) on volume group %3$s" -msgstr "Luodaan looginen taltio %1$s (%2$s) taltioryhmään %3$s" +msgstr "Luo ohut looginen taltio %1$s (%2$s) taltioryhmään %3$s" #. TRANSLATORS: displayed before action, #. %1$s is replaced by logical volume name (e.g. root), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.1.117/po/nl.po new/libstorage-ng-4.1.119/po/nl.po --- old/libstorage-ng-4.1.117/po/nl.po 2019-04-26 16:52:00.000000000 +0200 +++ new/libstorage-ng-4.1.119/po/nl.po 2019-05-02 08:04:23.000000000 +0200 @@ -15,8 +15,8 @@ "Project-Id-Version: libstorage.nl\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-02-25 15:22+0100\n" -"PO-Revision-Date: 2019-04-04 15:03+0000\n" -"Last-Translator: Eva van Rein <vista...@globaltextware.nl>\n" +"PO-Revision-Date: 2019-05-02 06:04+0000\n" +"Last-Translator: Freek de Kruijf <fr...@opensuse.org>\n" "Language-Team: Dutch <https://l10n.opensuse.org/projects/libstorage/" "ng-master/nl/>\n" "Language: nl\n" @@ -31,7 +31,7 @@ "are you serious?!" msgstr "" "\n" -"serieus?!" +"bent u serieus?!" #. TRANSLATORS: appended after list of value to indicate that some #. values have been omitted diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.1.117/storage/Devices/DeviceImpl.cc new/libstorage-ng-4.1.119/storage/Devices/DeviceImpl.cc --- old/libstorage-ng-4.1.117/storage/Devices/DeviceImpl.cc 2019-04-26 16:52:00.000000000 +0200 +++ new/libstorage-ng-4.1.119/storage/Devices/DeviceImpl.cc 2019-05-02 08:04:23.000000000 +0200 @@ -525,8 +525,8 @@ Text Reallot::text(const CommitData& commit_data) const { - const Device* device_rhs = get_device(commit_data.actiongraph, RHS); - return device_rhs->get_impl().do_reallot_text(reallot_mode, device, commit_data.tense); + const Device* device_lhs = get_device(commit_data.actiongraph, LHS); + return device_lhs->get_impl().do_reallot_text(reallot_mode, device, commit_data.tense); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.1.117/storage/Devices/LvmVgImpl.h new/libstorage-ng-4.1.119/storage/Devices/LvmVgImpl.h --- old/libstorage-ng-4.1.117/storage/Devices/LvmVgImpl.h 2019-04-26 16:52:00.000000000 +0200 +++ new/libstorage-ng-4.1.119/storage/Devices/LvmVgImpl.h 2019-05-02 08:04:23.000000000 +0200 @@ -145,8 +145,9 @@ Tense tense) const override; virtual void do_reallot(ReallotMode reallot_mode, const Device* device) const override; - virtual void do_reduce(const LvmPv* lvm_pv) const; - virtual void do_extend(const LvmPv* lvm_pv) const; + + void do_reduce(const LvmPv* lvm_pv) const; + void do_extend(const LvmPv* lvm_pv) const; Text do_reduce_missing_text(Tense tense) const; void do_reduce_missing() const; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.1.117/storage/Devices/MdImpl.cc new/libstorage-ng-4.1.119/storage/Devices/MdImpl.cc --- old/libstorage-ng-4.1.117/storage/Devices/MdImpl.cc 2019-04-26 16:52:00.000000000 +0200 +++ new/libstorage-ng-4.1.119/storage/Devices/MdImpl.cc 2019-05-02 08:04:23.000000000 +0200 @@ -1182,6 +1182,8 @@ cmd_line += !md_user->is_spare() ? " --add" : " --add-spare"; cmd_line += " " + quote(get_name()) + " " + quote(blk_device->get_name()); + storage::wait_for_devices({ blk_device }); + SystemCmd cmd(cmd_line, SystemCmd::DoThrow); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.1.117/storage/Devices/MdImpl.h new/libstorage-ng-4.1.119/storage/Devices/MdImpl.h --- old/libstorage-ng-4.1.117/storage/Devices/MdImpl.h 2019-04-26 16:52:00.000000000 +0200 +++ new/libstorage-ng-4.1.119/storage/Devices/MdImpl.h 2019-05-02 08:04:23.000000000 +0200 @@ -156,8 +156,8 @@ virtual void do_reallot(ReallotMode reallot_mode, const Device* device) const override; - virtual void do_reduce(const BlkDevice* blk_device) const; - virtual void do_extend(const BlkDevice* blk_device) const; + void do_reduce(const BlkDevice* blk_device) const; + void do_extend(const BlkDevice* blk_device) const; virtual Text do_deactivate_text(Tense tense) const override; virtual void do_deactivate() const override; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.1.117/storage/Filesystems/BlkFilesystemImpl.cc new/libstorage-ng-4.1.119/storage/Filesystems/BlkFilesystemImpl.cc --- old/libstorage-ng-4.1.117/storage/Filesystems/BlkFilesystemImpl.cc 2019-04-26 16:52:00.000000000 +0200 +++ new/libstorage-ng-4.1.119/storage/Filesystems/BlkFilesystemImpl.cc 2019-05-02 08:04:23.000000000 +0200 @@ -566,6 +566,8 @@ void BlkFilesystem::Impl::add_modify_actions(Actiongraph::Impl& actiongraph, const Device* lhs_base) const { + Filesystem::Impl::add_modify_actions(actiongraph, lhs_base); + const Impl& lhs = dynamic_cast<const Impl&>(lhs_base->get_impl()); vector<Action::Base*> actions; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.1.117/storage/Filesystems/Btrfs.h new/libstorage-ng-4.1.119/storage/Filesystems/Btrfs.h --- old/libstorage-ng-4.1.117/storage/Filesystems/Btrfs.h 2019-04-26 16:52:00.000000000 +0200 +++ new/libstorage-ng-4.1.119/storage/Filesystems/Btrfs.h 2019-05-02 08:04:23.000000000 +0200 @@ -37,7 +37,7 @@ /** - * Btrfs RAID levels used for metadata and data. + * Btrfs RAID levels (aka profiles) used for metadata and data. */ enum class BtrfsRaidLevel { @@ -77,6 +77,8 @@ /** * Set the metadata RAID level. + * + * Not supported for btrfs already existing on disk. */ void set_metadata_raid_level(BtrfsRaidLevel metadata_raid_level); @@ -87,6 +89,8 @@ /** * Set the data RAID level. + * + * Not supported for btrfs already existing on disk. */ void set_data_raid_level(BtrfsRaidLevel data_raid_level); @@ -118,6 +122,8 @@ /** * Remove a block device from the btrfs. * + * Not supported for btrfs already existing on disk. + * * @throw Exception */ void remove_device(BlkDevice* blk_device); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.1.117/storage/Filesystems/BtrfsImpl.cc new/libstorage-ng-4.1.119/storage/Filesystems/BtrfsImpl.cc --- old/libstorage-ng-4.1.117/storage/Filesystems/BtrfsImpl.cc 2019-04-26 16:52:00.000000000 +0200 +++ new/libstorage-ng-4.1.119/storage/Filesystems/BtrfsImpl.cc 2019-05-02 08:04:23.000000000 +0200 @@ -665,4 +665,117 @@ SystemCmd cmd(cmd_line, SystemCmd::NoThrow); } + + Text + Btrfs::Impl::do_reallot_text(ReallotMode reallot_mode, const Device* device, Tense tense) const + { + Text text; + + switch (reallot_mode) + { + case ReallotMode::REDUCE: + text = tenser(tense, + // TRANSLATORS: displayed before action, + // %1$s is replaced by the device name (e.g. /dev/sdc1), + // %2$s is replaced by the device size (e.g. 2.00 GiB) + // %3$s is replaced by one or more devices (e.g /dev/sda1 (2.00 GiB) + // and /dev/sdb2 (2.00 GiB)) + _("Remove %1$s (%2$s) from btrfs on %3$s"), + // TRANSLATORS: displayed during action, + // %1$s is replaced by the device name (e.g. /dev/sdc1), + // %2$s is replaced by the device size (e.g. 2.00 GiB) + // %3$s is replaced by one or more devices (e.g /dev/sda1 (2.00 GiB) + // and /dev/sdb2 (2.00 GiB)) + _("Removing %1$s (%2$s) from btrfs on %3$s")); + break; + + case ReallotMode::EXTEND: + text = tenser(tense, + // TRANSLATORS: displayed before action, + // %1$s is replaced by the device name (e.g. /dev/sdc1), + // %2$s is replaced by the device size (e.g. 2.00 GiB) + // %3$s is replaced by one or more devices (e.g /dev/sda1 (2.00 GiB) + // and /dev/sdb2 (2.00 GiB)) + _("Add %1$s (%2$s) to btrfs on %3$s"), + // TRANSLATORS: displayed during action, + // %1$s is replaced by the device name (e.g. /dev/sdc1), + // %2$s is replaced by the device size (e.g. 2.00 GiB) + // %3$s is replaced by one or more devices (e.g /dev/sda1 (2.00 GiB) + // and /dev/sdb2 (2.00 GiB)) + _("Adding %1$s (%2$s) to btrfs on %3$s")); + break; + + default: + ST_THROW(LogicException("invalid value for reallot_mode")); + } + + const BlkDevice* blk_device = to_blk_device(device); + + return sformat(text, blk_device->get_name(), blk_device->get_size_string(), + join(get_blk_devices(), JoinMode::COMMA, 10)); + } + + + void + Btrfs::Impl::do_reallot(ReallotMode reallot_mode, const Device* device) const + { + const BlkDevice* blk_device = to_blk_device(device); + + switch (reallot_mode) + { + case ReallotMode::REDUCE: + do_reduce(blk_device); + return; + + case ReallotMode::EXTEND: + do_extend(blk_device); + return; + } + + ST_THROW(LogicException("invalid value for reallot_mode")); + } + + + void + Btrfs::Impl::do_reduce(const BlkDevice* blk_device) const + { + // TODO EnsureMounted always works on the system devicegraph. This + // could fail if reduce and extend actions are run in sequence + // (but this is so far not supported). + + EnsureMounted ensure_mounted(get_filesystem(), false); + + string cmd_line = BTRFSBIN " device remove " + quote(blk_device->get_name()) + " " + + quote(ensure_mounted.get_any_mount_point()); + + SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + } + + + void + Btrfs::Impl::do_extend(const BlkDevice* blk_device) const + { + // TODO See do_reduce above. + + EnsureMounted ensure_mounted(get_filesystem(), false); + + string cmd_line = BTRFSBIN " device add " + quote(blk_device->get_name()) + " " + + quote(ensure_mounted.get_any_mount_point()); + + storage::wait_for_devices({ blk_device }); + + SystemCmd cmd(cmd_line, SystemCmd::DoThrow); + } + + + void + Btrfs::Impl::add_dependencies(Actiongraph::Impl& actiongraph) const + { + BlkFilesystem::Impl::add_dependencies(actiongraph); + + // So far only actions that increase the overall size of a + // multiple devices btrfs are supported. Thus no actions need + // to be ordered here. + } + } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.1.117/storage/Filesystems/BtrfsImpl.h new/libstorage-ng-4.1.119/storage/Filesystems/BtrfsImpl.h --- old/libstorage-ng-4.1.117/storage/Filesystems/BtrfsImpl.h 2019-04-26 16:52:00.000000000 +0200 +++ new/libstorage-ng-4.1.119/storage/Filesystems/BtrfsImpl.h 2019-05-02 08:04:23.000000000 +0200 @@ -141,8 +141,16 @@ virtual void do_pre_mount() const override; + virtual Text do_reallot_text(ReallotMode reallot_mode, const Device* device, Tense tense) const override; + virtual void do_reallot(ReallotMode reallot_mode, const Device* device) const override; + void parse_mkfs_output(const vector<string>& stdout); + void do_reduce(const BlkDevice* blk_device) const; + void do_extend(const BlkDevice* blk_device) const; + + virtual void add_dependencies(Actiongraph::Impl& actiongraph) const override; + private: bool configure_snapper; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.1.117/testsuite/dependencies/btrfs/Makefile.am new/libstorage-ng-4.1.119/testsuite/dependencies/btrfs/Makefile.am --- old/libstorage-ng-4.1.117/testsuite/dependencies/btrfs/Makefile.am 2019-04-26 16:52:00.000000000 +0200 +++ new/libstorage-ng-4.1.119/testsuite/dependencies/btrfs/Makefile.am 2019-05-02 08:04:23.000000000 +0200 @@ -8,7 +8,7 @@ -lboost_unit_test_framework check_PROGRAMS = \ - create1.test delete1.test delete2.test + create1.test delete1.test delete2.test extend1.test AM_DEFAULT_SOURCE_EXT = .cc @@ -17,5 +17,6 @@ EXTRA_DIST = \ create1-probed.xml create1-staging.xml create1-expected.txt \ delete1-probed.xml delete1-staging.xml delete1-expected.txt \ - delete2-probed.xml delete2-staging.xml delete2-expected.txt + delete2-probed.xml delete2-staging.xml delete2-expected.txt \ + extend1-probed.xml extend1-staging.xml extend1-expected.txt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.1.117/testsuite/dependencies/btrfs/extend1-expected.txt new/libstorage-ng-4.1.119/testsuite/dependencies/btrfs/extend1-expected.txt --- old/libstorage-ng-4.1.117/testsuite/dependencies/btrfs/extend1-expected.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/libstorage-ng-4.1.119/testsuite/dependencies/btrfs/extend1-expected.txt 2019-05-02 08:04:23.000000000 +0200 @@ -0,0 +1 @@ +1 - Add /dev/sdd1 (27.94 GiB) to btrfs on /dev/sdc1 (27.94 GiB) -> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.1.117/testsuite/dependencies/btrfs/extend1-probed.xml new/libstorage-ng-4.1.119/testsuite/dependencies/btrfs/extend1-probed.xml --- old/libstorage-ng-4.1.117/testsuite/dependencies/btrfs/extend1-probed.xml 1970-01-01 01:00:00.000000000 +0100 +++ new/libstorage-ng-4.1.119/testsuite/dependencies/btrfs/extend1-probed.xml 2019-05-02 08:04:23.000000000 +0200 @@ -0,0 +1,113 @@ +<?xml version="1.0"?> +<Devicegraph> + <Devices> + <Disk> + <sid>42</sid> + <name>/dev/sdd</name> + <sysfs-name>sdd</sysfs-name> + <sysfs-path>/devices/pci0000:00/0000:00:14.0/usb2/2-8/2-8:1.0/host9/target9:0:0/9:0:0:0/block/sdd</sysfs-path> + <region> + <length>5860466688</length> + <block-size>512</block-size> + </region> + <topology/> + <udev-path>pci-0000:00:14.0-usb-0:8:1.0-scsi-0:0:0:0</udev-path> + <udev-id>usb-WD_My_Passport_25E2_575842314436354C33384445-0:0</udev-id> + <range>256</range> + <rotational>true</rotational> + <transport>USB</transport> + </Disk> + <Disk> + <sid>45</sid> + <name>/dev/sdc</name> + <sysfs-name>sdc</sysfs-name> + <sysfs-path>/devices/pci0000:00/0000:00:14.0/usb2/2-7/2-7:1.0/host8/target8:0:0/8:0:0:0/block/sdc</sysfs-path> + <region> + <length>5860466688</length> + <block-size>512</block-size> + </region> + <topology/> + <udev-path>pci-0000:00:14.0-usb-0:7:1.0-scsi-0:0:0:0</udev-path> + <udev-id>usb-WD_My_Passport_25E2_57584D31454135463654544A-0:0</udev-id> + <range>256</range> + <rotational>true</rotational> + <transport>USB</transport> + </Disk> + <Gpt> + <sid>55</sid> + </Gpt> + <Partition> + <sid>56</sid> + <name>/dev/sdd1</name> + <sysfs-name>sdd1</sysfs-name> + <sysfs-path>/devices/pci0000:00/0000:00:14.0/usb2/2-8/2-8:1.0/host9/target9:0:0/9:0:0:0/block/sdd/sdd1</sysfs-path> + <region> + <start>2048</start> + <length>58603520</length> + <block-size>512</block-size> + </region> + <topology/> + <udev-path>pci-0000:00:14.0-usb-0:8:1.0-scsi-0:0:0:0-part1</udev-path> + <udev-id>usb-WD_My_Passport_25E2_575842314436354C33384445-0:0-part1</udev-id> + <type>primary</type> + <id>131</id> + </Partition> + <Gpt> + <sid>60</sid> + </Gpt> + <Partition> + <sid>61</sid> + <name>/dev/sdc1</name> + <sysfs-name>sdc1</sysfs-name> + <sysfs-path>/devices/pci0000:00/0000:00:14.0/usb2/2-7/2-7:1.0/host8/target8:0:0/8:0:0:0/block/sdc/sdc1</sysfs-path> + <region> + <start>2048</start> + <length>58603520</length> + <block-size>512</block-size> + </region> + <topology/> + <udev-path>pci-0000:00:14.0-usb-0:7:1.0-scsi-0:0:0:0-part1</udev-path> + <udev-id>usb-WD_My_Passport_25E2_57584D31454135463654544A-0:0-part1</udev-id> + <type>primary</type> + <id>131</id> + </Partition> + <Btrfs> + <sid>77</sid> + <uuid>b681716a-248c-4c8d-9176-7c162391bf33</uuid> + <metadata-raid-level>DUP</metadata-raid-level> + <data-raid-level>SINGLE</data-raid-level> + </Btrfs> + <BtrfsSubvolume> + <sid>78</sid> + <id>5</id> + <path></path> + <default-btrfs-subvolume>true</default-btrfs-subvolume> + </BtrfsSubvolume> + </Devices> + <Holders> + <User> + <source-sid>42</source-sid> + <target-sid>55</target-sid> + </User> + <Subdevice> + <source-sid>55</source-sid> + <target-sid>56</target-sid> + </Subdevice> + <User> + <source-sid>45</source-sid> + <target-sid>60</target-sid> + </User> + <Subdevice> + <source-sid>60</source-sid> + <target-sid>61</target-sid> + </Subdevice> + <Subdevice> + <source-sid>77</source-sid> + <target-sid>78</target-sid> + </Subdevice> + <FilesystemUser> + <source-sid>61</source-sid> + <target-sid>77</target-sid> + </FilesystemUser> + </Holders> +</Devicegraph> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.1.117/testsuite/dependencies/btrfs/extend1-staging.xml new/libstorage-ng-4.1.119/testsuite/dependencies/btrfs/extend1-staging.xml --- old/libstorage-ng-4.1.117/testsuite/dependencies/btrfs/extend1-staging.xml 1970-01-01 01:00:00.000000000 +0100 +++ new/libstorage-ng-4.1.119/testsuite/dependencies/btrfs/extend1-staging.xml 2019-05-02 08:04:23.000000000 +0200 @@ -0,0 +1,117 @@ +<?xml version="1.0"?> +<Devicegraph> + <Devices> + <Disk> + <sid>42</sid> + <name>/dev/sdd</name> + <sysfs-name>sdd</sysfs-name> + <sysfs-path>/devices/pci0000:00/0000:00:14.0/usb2/2-8/2-8:1.0/host9/target9:0:0/9:0:0:0/block/sdd</sysfs-path> + <region> + <length>5860466688</length> + <block-size>512</block-size> + </region> + <topology/> + <udev-path>pci-0000:00:14.0-usb-0:8:1.0-scsi-0:0:0:0</udev-path> + <udev-id>usb-WD_My_Passport_25E2_575842314436354C33384445-0:0</udev-id> + <range>256</range> + <rotational>true</rotational> + <transport>USB</transport> + </Disk> + <Disk> + <sid>45</sid> + <name>/dev/sdc</name> + <sysfs-name>sdc</sysfs-name> + <sysfs-path>/devices/pci0000:00/0000:00:14.0/usb2/2-7/2-7:1.0/host8/target8:0:0/8:0:0:0/block/sdc</sysfs-path> + <region> + <length>5860466688</length> + <block-size>512</block-size> + </region> + <topology/> + <udev-path>pci-0000:00:14.0-usb-0:7:1.0-scsi-0:0:0:0</udev-path> + <udev-id>usb-WD_My_Passport_25E2_57584D31454135463654544A-0:0</udev-id> + <range>256</range> + <rotational>true</rotational> + <transport>USB</transport> + </Disk> + <Gpt> + <sid>55</sid> + </Gpt> + <Partition> + <sid>56</sid> + <name>/dev/sdd1</name> + <sysfs-name>sdd1</sysfs-name> + <sysfs-path>/devices/pci0000:00/0000:00:14.0/usb2/2-8/2-8:1.0/host9/target9:0:0/9:0:0:0/block/sdd/sdd1</sysfs-path> + <region> + <start>2048</start> + <length>58603520</length> + <block-size>512</block-size> + </region> + <topology/> + <udev-path>pci-0000:00:14.0-usb-0:8:1.0-scsi-0:0:0:0-part1</udev-path> + <udev-id>usb-WD_My_Passport_25E2_575842314436354C33384445-0:0-part1</udev-id> + <type>primary</type> + <id>131</id> + </Partition> + <Gpt> + <sid>60</sid> + </Gpt> + <Partition> + <sid>61</sid> + <name>/dev/sdc1</name> + <sysfs-name>sdc1</sysfs-name> + <sysfs-path>/devices/pci0000:00/0000:00:14.0/usb2/2-7/2-7:1.0/host8/target8:0:0/8:0:0:0/block/sdc/sdc1</sysfs-path> + <region> + <start>2048</start> + <length>58603520</length> + <block-size>512</block-size> + </region> + <topology/> + <udev-path>pci-0000:00:14.0-usb-0:7:1.0-scsi-0:0:0:0-part1</udev-path> + <udev-id>usb-WD_My_Passport_25E2_57584D31454135463654544A-0:0-part1</udev-id> + <type>primary</type> + <id>131</id> + </Partition> + <Btrfs> + <sid>77</sid> + <uuid>b681716a-248c-4c8d-9176-7c162391bf33</uuid> + <metadata-raid-level>DUP</metadata-raid-level> + <data-raid-level>SINGLE</data-raid-level> + </Btrfs> + <BtrfsSubvolume> + <sid>78</sid> + <id>5</id> + <path></path> + <default-btrfs-subvolume>true</default-btrfs-subvolume> + </BtrfsSubvolume> + </Devices> + <Holders> + <User> + <source-sid>42</source-sid> + <target-sid>55</target-sid> + </User> + <Subdevice> + <source-sid>55</source-sid> + <target-sid>56</target-sid> + </Subdevice> + <User> + <source-sid>45</source-sid> + <target-sid>60</target-sid> + </User> + <Subdevice> + <source-sid>60</source-sid> + <target-sid>61</target-sid> + </Subdevice> + <Subdevice> + <source-sid>77</source-sid> + <target-sid>78</target-sid> + </Subdevice> + <FilesystemUser> + <source-sid>56</source-sid> + <target-sid>77</target-sid> + </FilesystemUser> + <FilesystemUser> + <source-sid>61</source-sid> + <target-sid>77</target-sid> + </FilesystemUser> + </Holders> +</Devicegraph> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.1.117/testsuite/dependencies/btrfs/extend1.cc new/libstorage-ng-4.1.119/testsuite/dependencies/btrfs/extend1.cc --- old/libstorage-ng-4.1.117/testsuite/dependencies/btrfs/extend1.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/libstorage-ng-4.1.119/testsuite/dependencies/btrfs/extend1.cc 2019-05-02 08:04:23.000000000 +0200 @@ -0,0 +1,20 @@ + +#define BOOST_TEST_DYN_LINK +#define BOOST_TEST_MODULE libstorage + +#include <boost/test/unit_test.hpp> + +#include "storage/Utils/Logger.h" +#include "testsuite/helpers/TsCmp.h" + + +using namespace storage; + + +BOOST_AUTO_TEST_CASE(dependencies) +{ + set_logger(get_stdout_logger()); + + TsCmpActiongraph cmp("extend1"); + BOOST_CHECK_MESSAGE(cmp.ok(), cmp); +}