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 2023-04-07 18:16:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libstorage-ng (Old) and /work/SRC/openSUSE:Factory/.libstorage-ng.new.19717 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libstorage-ng" Fri Apr 7 18:16:27 2023 rev:213 rq:1077573 version:4.5.95 Changes: -------- --- /work/SRC/openSUSE:Factory/libstorage-ng/libstorage-ng.changes 2023-04-02 19:16:55.952389912 +0200 +++ /work/SRC/openSUSE:Factory/.libstorage-ng.new.19717/libstorage-ng.changes 2023-04-07 18:16:32.704621039 +0200 @@ -1,0 +2,22 @@ +Wed Apr 5 16:32:19 UTC 2023 - aschn...@suse.com + +- merge gh#openSUSE/libstorage-ng#925 +- disable NVMe detection since it is not correct +- 4.5.95 + +-------------------------------------------------------------------- +Wed Apr 5 14:37:49 UTC 2023 - aschn...@suse.com + +- merge gh#openSUSE/libstorage-ng#924 +- added GitHub Action using Fedora +- 4.5.94 + +-------------------------------------------------------------------- +Wed Apr 5 13:42:36 UTC 2023 - aschn...@suse.com + +- merge gh#openSUSE/libstorage-ng#923 +- detect transport for NVMe disks (bsc#1210144) +- cleanup +- 4.5.93 + +-------------------------------------------------------------------- Old: ---- libstorage-ng-4.5.92.tar.xz New: ---- libstorage-ng-4.5.95.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libstorage-ng.spec ++++++ --- /var/tmp/diff_new_pack.GmQYKl/_old 2023-04-07 18:16:33.332624657 +0200 +++ /var/tmp/diff_new_pack.GmQYKl/_new 2023-04-07 18:16:33.340624703 +0200 @@ -18,7 +18,7 @@ %define libname %{name}1 Name: libstorage-ng -Version: 4.5.92 +Version: 4.5.95 Release: 0 Summary: Library for storage management License: GPL-2.0-only ++++++ libstorage-ng-4.5.92.tar.xz -> libstorage-ng-4.5.95.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.92/.github/workflows/ci-fedora.yml new/libstorage-ng-4.5.95/.github/workflows/ci-fedora.yml --- old/libstorage-ng-4.5.92/.github/workflows/ci-fedora.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/libstorage-ng-4.5.95/.github/workflows/ci-fedora.yml 2023-04-05 18:32:19.000000000 +0200 @@ -0,0 +1,34 @@ +name: CI Fedora + +on: [push, pull_request] + +jobs: + Tests: + runs-on: ubuntu-latest + container: fedora + + steps: + + - name: Install additional packages + run: dnf -y install autoconf automake boost-devel doxygen gcc-c++ gettext glibc-langpack-de glibc-langpack-fr glibc-langpack-en graphviz json-c-devel libtool libxml2-devel make python3-devel ruby-devel rubygem-test-unit swig xz + + - name: List installed packages + run: rpm -qa | sort + + - name: Git checkout + uses: actions/checkout@v1 + + - name: Configure + run: make -f Makefile.repo + + - name: Compile + run: make -j 2 + + - name: Install + run: make install + + - name: Run unit tests + run: make -j 2 check VERBOSE=1 + + - name: Make package + run: make package diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.92/LIBVERSION new/libstorage-ng-4.5.95/LIBVERSION --- old/libstorage-ng-4.5.92/LIBVERSION 2023-03-31 22:14:35.000000000 +0200 +++ new/libstorage-ng-4.5.95/LIBVERSION 2023-04-05 18:32:19.000000000 +0200 @@ -1 +1 @@ -1.85.0 +1.86.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.92/VERSION new/libstorage-ng-4.5.95/VERSION --- old/libstorage-ng-4.5.92/VERSION 2023-03-31 22:14:35.000000000 +0200 +++ new/libstorage-ng-4.5.95/VERSION 2023-04-05 18:32:19.000000000 +0200 @@ -1 +1 @@ -4.5.92 +4.5.95 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.92/storage/Devices/Disk.h new/libstorage-ng-4.5.95/storage/Devices/Disk.h --- old/libstorage-ng-4.5.92/storage/Devices/Disk.h 2023-03-31 22:14:35.000000000 +0200 +++ new/libstorage-ng-4.5.95/storage/Devices/Disk.h 2023-04-05 18:32:19.000000000 +0200 @@ -1,6 +1,6 @@ /* * Copyright (c) [2014-2015] Novell, Inc. - * Copyright (c) [2016-2021] SUSE LLC + * Copyright (c) [2016-2023] SUSE LLC * * All Rights Reserved. * @@ -35,7 +35,7 @@ * Data Transport Layer */ enum class Transport { - UNKNOWN, SBP, ATA, FC, ISCSI, SAS, SATA, SPI, USB, FCOE, PCIE + UNKNOWN, SBP, ATA, FC, ISCSI, SAS, SATA, SPI, USB, FCOE, PCIE, TCP, RDMA, LOOP }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.92/storage/Devices/DiskImpl.cc new/libstorage-ng-4.5.95/storage/Devices/DiskImpl.cc --- old/libstorage-ng-4.5.92/storage/Devices/DiskImpl.cc 2023-03-31 22:14:35.000000000 +0200 +++ new/libstorage-ng-4.5.95/storage/Devices/DiskImpl.cc 2023-04-05 18:32:19.000000000 +0200 @@ -1,6 +1,6 @@ /* * Copyright (c) [2014-2015] Novell, Inc. - * Copyright (c) [2016-2022] SUSE LLC + * Copyright (c) [2016-2023] SUSE LLC * * All Rights Reserved. * @@ -54,7 +54,8 @@ const vector<string> EnumTraits<Transport>::names({ - "UNKNOWN", "SBP", "ATA", "FC", "iSCSI", "SAS", "SATA", "SPI", "USB", "FCoE", "PCIe" + "UNKNOWN", "SBP", "ATA", "FC", "iSCSI", "SAS", "SATA", "SPI", "USB", "FCoE", "PCIe", + "TCP", "RDMA", "Loop" }); @@ -152,6 +153,20 @@ } + string + Disk::Impl::get_nvme_controller() const + { + static const regex nvme_name_rx(DEV_DIR "/nvme([0-9]+)n([0-9]+)", regex::extended); + + smatch match; + + if (!regex_match(get_name(), match, nvme_name_rx)) + ST_THROW(Exception("failed to extract nvme controller")); + + return "nvme" + match[1].str(); + } + + bool Disk::Impl::is_brd() const { @@ -210,9 +225,39 @@ const File& dax_file = get_sysfs_file(system_info, "queue/dax"); dax = dax_file.get<bool>(); - Lsscsi::Entry entry; - if (system_info.getLsscsi().get_entry(get_name(), entry)) - transport = entry.transport; + if (is_nvme()) + { + system_info.getCmdNvmeList(); // so far just for logging + +#if 0 + const File& transport_file = system_info.getFile(SYSFS_DIR "/class/nvme/" + get_nvme_controller() + + "/transport"); + string tmp = transport_file.get<string>(); + + if (tmp == "pcie") + transport = Transport::PCIE; + else if (tmp == "fc") + transport = Transport::FC; + else if (tmp == "tcp") + transport = Transport::TCP; + else if (tmp == "rdma") + transport = Transport::RDMA; + else if (tmp == "loop") + transport = Transport::LOOP; + else + y2err("unknown NVMe transport"); +#endif + } + else if (is_pmem() || is_brd()) + { + // no proper transport + } + else + { + Lsscsi::Entry entry; + if (system_info.getLsscsi().get_entry(get_name(), entry)) + transport = entry.transport; + } const File& zoned_file = get_sysfs_file(system_info, "queue/zoned"); zone_model = toValueWithFallback(zoned_file.get<string>(), ZoneModel::NONE); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.92/storage/Devices/DiskImpl.h new/libstorage-ng-4.5.95/storage/Devices/DiskImpl.h --- old/libstorage-ng-4.5.92/storage/Devices/DiskImpl.h 2023-03-31 22:14:35.000000000 +0200 +++ new/libstorage-ng-4.5.95/storage/Devices/DiskImpl.h 2023-04-05 18:32:19.000000000 +0200 @@ -89,7 +89,10 @@ void set_zone_model(ZoneModel zone_model) { Impl::zone_model = zone_model; } bool is_pmem() const; + bool is_nvme() const; + string get_nvme_controller() const; + bool is_brd() const; const string& get_image_filename() const { return image_filename; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.92/storage/Devices/Multipath.h new/libstorage-ng-4.5.95/storage/Devices/Multipath.h --- old/libstorage-ng-4.5.92/storage/Devices/Multipath.h 2023-03-31 22:14:35.000000000 +0200 +++ new/libstorage-ng-4.5.95/storage/Devices/Multipath.h 2023-04-05 18:32:19.000000000 +0200 @@ -32,7 +32,7 @@ /** - * A multipath device. + * A multipath device. Not for NVMe multipath. */ class Multipath : public Partitionable { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.92/storage/SystemInfo/CmdBlkid.cc new/libstorage-ng-4.5.95/storage/SystemInfo/CmdBlkid.cc --- old/libstorage-ng-4.5.92/storage/SystemInfo/CmdBlkid.cc 2023-03-31 22:14:35.000000000 +0200 +++ new/libstorage-ng-4.5.95/storage/SystemInfo/CmdBlkid.cc 2023-04-05 18:32:19.000000000 +0200 @@ -21,15 +21,15 @@ */ -#include <ctype.h> +#include <cctype> #include <algorithm> #include <boost/algorithm/string.hpp> +#include "storage/SystemInfo/CmdBlkid.h" #include "storage/Utils/AppUtil.h" #include "storage/Utils/SystemCmd.h" #include "storage/Utils/StorageDefines.h" #include "storage/SystemInfo/SystemInfoImpl.h" -#include "storage/SystemInfo/CmdBlkid.h" #include "storage/Filesystems/FilesystemImpl.h" #include "storage/EnvironmentImpl.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.92/storage/SystemInfo/CmdLvm.cc new/libstorage-ng-4.5.95/storage/SystemInfo/CmdLvm.cc --- old/libstorage-ng-4.5.92/storage/SystemInfo/CmdLvm.cc 2023-03-31 22:14:35.000000000 +0200 +++ new/libstorage-ng-4.5.95/storage/SystemInfo/CmdLvm.cc 2023-04-05 18:32:19.000000000 +0200 @@ -21,17 +21,14 @@ */ -#include <string> -#include <vector> #include <boost/algorithm/string.hpp> -#include "storage/Devices/LvmLvImpl.h" #include "storage/SystemInfo/CmdLvm.h" +#include "storage/Devices/LvmLvImpl.h" #include "storage/Utils/SystemCmd.h" #include "storage/Utils/LoggerImpl.h" #include "storage/Utils/StorageDefines.h" #include "storage/Utils/StorageTmpl.h" -#include "storage/Utils/JsonFile.h" // see bsc #1186780 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.92/storage/SystemInfo/CmdNvme.cc new/libstorage-ng-4.5.95/storage/SystemInfo/CmdNvme.cc --- old/libstorage-ng-4.5.92/storage/SystemInfo/CmdNvme.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/libstorage-ng-4.5.95/storage/SystemInfo/CmdNvme.cc 2023-04-05 18:32:19.000000000 +0200 @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2023 SUSE LLC + * + * All Rights Reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of version 2 of the GNU General Public License as published + * by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, contact Novell, Inc. + * + * To contact Novell about this file by physical or electronic mail, you may + * find current contact information at www.novell.com. + */ + + +#include "storage/SystemInfo/CmdNvme.h" +#include "storage/Utils/StorageDefines.h" +#include "storage/Utils/SystemCmd.h" +#include "storage/Utils/JsonFile.h" + + +namespace storage +{ + + CmdNvmeList::CmdNvmeList() + { + SystemCmd cmd(NVME_BIN " list --verbose --output json", SystemCmd::DoThrow); + + parse(cmd.stdout()); + } + + + void + CmdNvmeList::parse(const vector<string>& lines) + { + JsonFile json_file(lines); + } + +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.92/storage/SystemInfo/CmdNvme.h new/libstorage-ng-4.5.95/storage/SystemInfo/CmdNvme.h --- old/libstorage-ng-4.5.92/storage/SystemInfo/CmdNvme.h 1970-01-01 01:00:00.000000000 +0100 +++ new/libstorage-ng-4.5.95/storage/SystemInfo/CmdNvme.h 2023-04-05 18:32:19.000000000 +0200 @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2023 SUSE LLC + * + * All Rights Reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of version 2 of the GNU General Public License as published + * by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, contact Novell, Inc. + * + * To contact Novell about this file by physical or electronic mail, you may + * find current contact information at www.novell.com. + */ + + +#ifndef STORAGE_CMD_NVME_H +#define STORAGE_CMD_NVME_H + + +#include <string> +#include <vector> + + +namespace storage +{ + + using std::string; + using std::vector; + + + /** + * Class to run the command "nvme list". So far only used to log the output. + */ + class CmdNvmeList + { + + public: + + CmdNvmeList(); + + private: + + void parse(const vector<string>& lines); + + }; + +} + +#endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.92/storage/SystemInfo/Makefile.am new/libstorage-ng-4.5.95/storage/SystemInfo/Makefile.am --- old/libstorage-ng-4.5.92/storage/SystemInfo/Makefile.am 2023-03-31 22:14:35.000000000 +0200 +++ new/libstorage-ng-4.5.95/storage/SystemInfo/Makefile.am 2023-04-05 18:32:19.000000000 +0200 @@ -21,6 +21,7 @@ CmdLvm.cc CmdLvm.h \ CmdMultipath.cc CmdMultipath.h \ CmdNtfsresize.cc CmdNtfsresize.h \ + CmdNvme.cc CmdNvme.h \ CmdParted.cc CmdParted.h \ CmdResize2fs.cc CmdResize2fs.h \ CmdStat.cc CmdStat.h \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.92/storage/SystemInfo/SystemInfoImpl.h new/libstorage-ng-4.5.95/storage/SystemInfo/SystemInfoImpl.h --- old/libstorage-ng-4.5.92/storage/SystemInfo/SystemInfoImpl.h 2023-03-31 22:14:35.000000000 +0200 +++ new/libstorage-ng-4.5.95/storage/SystemInfo/SystemInfoImpl.h 2023-04-05 18:32:19.000000000 +0200 @@ -1,6 +1,6 @@ /* * Copyright (c) [2004-2015] Novell, Inc. - * Copyright (c) [2016-2022] SUSE LLC + * Copyright (c) [2016-2023] SUSE LLC * * All Rights Reserved. * @@ -45,6 +45,7 @@ #include "storage/SystemInfo/CmdCryptsetup.h" #include "storage/SystemInfo/CmdDmraid.h" #include "storage/SystemInfo/CmdMultipath.h" +#include "storage/SystemInfo/CmdNvme.h" #include "storage/SystemInfo/CmdBtrfs.h" #include "storage/SystemInfo/CmdLvm.h" #include "storage/SystemInfo/CmdUdevadm.h" @@ -92,6 +93,7 @@ const MdadmDetail& getMdadmDetail(const string& device) { return mdadm_details.get(device); } const Blkid& getBlkid() { return blkid.get(); } const Lsscsi& getLsscsi() { return lsscsi.get(); } + const CmdNvmeList& getCmdNvmeList() { return cmd_nvme_list.get(); } const Parted& getParted(const string& device) { return parteds.get(device); } const Dasdview& getDasdview(const string& device) { return dasdviews.get(device); } const CmdDmsetupInfo& getCmdDmsetupInfo() { return cmd_dmsetup_info.get(); } @@ -246,6 +248,7 @@ LazyObjects<MdadmDetail> mdadm_details; LazyObject<Blkid> blkid; LazyObject<Lsscsi> lsscsi; + LazyObject<CmdNvmeList> cmd_nvme_list; LazyObjects<Parted> parteds; LazyObjects<Dasdview> dasdviews; LazyObject<CmdDmsetupInfo> cmd_dmsetup_info; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.92/storage/Utils/StorageDefines.h new/libstorage-ng-4.5.95/storage/Utils/StorageDefines.h --- old/libstorage-ng-4.5.92/storage/Utils/StorageDefines.h 2023-03-31 22:14:35.000000000 +0200 +++ new/libstorage-ng-4.5.95/storage/Utils/StorageDefines.h 2023-04-05 18:32:19.000000000 +0200 @@ -1,6 +1,6 @@ /* * Copyright (c) [2004-2015] Novell, Inc. - * Copyright (c) [2016-2022] SUSE LLC + * Copyright (c) [2016-2023] SUSE LLC * * All Rights Reserved. * @@ -124,6 +124,8 @@ #define LOSETUP_BIN "/sbin/losetup" +#define NVME_BIN "/usr/sbin/nvme" + #define LSATTR_BIN "/usr/bin/lsattr" #define CHATTR_BIN "/usr/bin/chattr" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.92/testsuite/probe/swap1-mockup.xml new/libstorage-ng-4.5.95/testsuite/probe/swap1-mockup.xml --- old/libstorage-ng-4.5.92/testsuite/probe/swap1-mockup.xml 2023-03-31 22:14:35.000000000 +0200 +++ new/libstorage-ng-4.5.95/testsuite/probe/swap1-mockup.xml 2023-04-05 18:32:19.000000000 +0200 @@ -8,18 +8,6 @@ <stdout>sda</stdout> </Command> <Command> - <name>/bin/mount --read-only '/dev/sda2' '/tmp/libstorage-yGprO1/tmp-mount-MZzLIM' -o subvol=/</name> - </Command> - <Command> - <name>/bin/mount --read-only '/dev/sda2' '/tmp/libstorage-yGprO1/tmp-mount-WrafXM' -o subvol=/</name> - </Command> - <Command> - <name>/bin/umount '/tmp/libstorage-yGprO1/tmp-mount-MZzLIM'</name> - </Command> - <Command> - <name>/bin/umount '/tmp/libstorage-yGprO1/tmp-mount-WrafXM'</name> - </Command> - <Command> <name>/sbin/blkid -c '/dev/null'</name> <stdout>/dev/sr0: BLOCK_SIZE="2048" UUID="2023-01-16-00-17-36-48" LABEL="openSUSE-Tumbleweed-DVD-x86_64" TYPE="iso9660" PTUUID="7923e922" PTTYPE="dos"</stdout> <stdout>/dev/sda4: UUID="cfaace10-22a9-4598-8468-a50b52dd5914" TYPE="swap" PARTUUID="aaf1bcfc-b925-431b-a007-af6a6581cb8b"</stdout>