Hello community, here is the log from the commit of package libstorage-ng for openSUSE:Factory checked in at 2020-12-18 19:56:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libstorage-ng (Old) and /work/SRC/openSUSE:Factory/.libstorage-ng.new.5145 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libstorage-ng" Fri Dec 18 19:56:56 2020 rev:101 rq:856474 version:4.3.75 Changes: -------- --- /work/SRC/openSUSE:Factory/libstorage-ng/libstorage-ng.changes 2020-12-09 22:11:23.803065542 +0100 +++ /work/SRC/openSUSE:Factory/.libstorage-ng.new.5145/libstorage-ng.changes 2020-12-18 19:56:58.257907457 +0100 @@ -1,0 +2,23 @@ +Wed Dec 16 12:42:48 UTC 2020 - aschn...@suse.com + +- merge gh#openSUSE/libstorage-ng#788 +- remove Travis support (replaced by GitHub Actions) +- 4.3.75 + +-------------------------------------------------------------------- +Wed Dec 16 12:08:09 UTC 2020 - aschn...@suse.com + +- merge gh#openSUSE/libstorage-ng#787 +- add more btrfs qgroups to remove view (bsc#1179590) +- added integration test +- extended documentation +- 4.3.74 + +-------------------------------------------------------------------- +Tue Dec 15 10:38:47 UTC 2020 - aschn...@suse.com + +- merge gh#openSUSE/libstorage-ng#786 +- treat btrfs parent UUID only as a "hint" (bsc#1179061) +- 4.3.73 + +-------------------------------------------------------------------- Old: ---- libstorage-ng-4.3.72.tar.xz New: ---- libstorage-ng-4.3.75.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libstorage-ng.spec ++++++ --- /var/tmp/diff_new_pack.Ygp7bh/_old 2020-12-18 19:56:58.853908093 +0100 +++ /var/tmp/diff_new_pack.Ygp7bh/_new 2020-12-18 19:56:58.857908097 +0100 @@ -18,7 +18,7 @@ %define libname %{name}1 Name: libstorage-ng -Version: 4.3.72 +Version: 4.3.75 Release: 0 Summary: Library for storage management License: GPL-2.0-only ++++++ libstorage-ng-4.3.72.tar.xz -> libstorage-ng-4.3.75.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.3.72/.travis.sh new/libstorage-ng-4.3.75/.travis.sh --- old/libstorage-ng-4.3.72/.travis.sh 2020-12-07 10:31:47.000000000 +0100 +++ new/libstorage-ng-4.3.75/.travis.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,72 +0,0 @@ -#! /bin/sh - -# This is a CI build script for running inside the Travis builds. - -# exit on error immediately, print the executed commands -set -e -x - -######## -## -## Emergency Travis cache cleanup -## -## In case the ccache cache gets broken and you need to clear the cache -## -## A) Directly clear the cache at Travis, requires access permissions -## (https://travis-ci.org/openSUSE/libstorage-ng/caches) -## -## B) If you cannot clear the cache at Travis (e.g. from a -## repository fork) then: -## 1) Uncomment the block below -## 2) Push to Github -## 3) Wait for Travis to execute it -## 4) Remove the last commit and (force) push again -## 5) Travis will start a new build with the empty cache and -## this script will stay untouched -#### -## clear the ccache completely -# ccache -C -## print the statistics to verify the cache was cleared -# ccache -s -## finish the Travis build now, it will save the empty cache -## for the next build -# exit 0 -######## - -# use ccache for faster rebuilds -export PATH="/usr/lib64/ccache:$PATH" -# set 2GB cache size -ccache --set-config=max_size=2.0G -# use e.g. "gcc -v" to detect the compiler change, -# the default (slightly faster) "mtime" setting does not work well -# at Travis because we use a Docker image which is regurarly rebuilt -ccache "--set-config=compiler_check=%compiler% -v" -# print the initial ccache statistics -ccache -s - -# fetch the full history so the log can be generated correctly -if [ `git rev-parse --is-shallow-repository` = "true" ]; then - git fetch --unshallow -fi - -# generate the .tar.xz source tarball and the *.changes file -utils/make_package - -# generate the *.spec file -make -f Makefile.repo - -# run the osc source validator to check the *.spec and *.changes locally -(cd package && /usr/lib/obs/service/source_validator) - -cp package/* /usr/src/packages/SOURCES/ -# Build the binary packages -rpmbuild -bb package/*.spec - -# test the %pre/%post scripts by installing/updating/removing the built packages -# ignore the dependencies to make the test easier, as a smoke test it's good enough -rpm -iv --force --nodeps /usr/src/packages/RPMS/**/*.rpm -rpm -Uv --force --nodeps /usr/src/packages/RPMS/**/*.rpm -# get the plain package names and remove all packages at once -rpm -ev --nodeps `rpm -q --qf '%{NAME} ' -p /usr/src/packages/RPMS/**/*.rpm` - -# print the final ccache statistics -ccache -s diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.3.72/.travis.yml new/libstorage-ng-4.3.75/.travis.yml --- old/libstorage-ng-4.3.72/.travis.yml 2020-12-07 10:31:47.000000000 +0100 +++ new/libstorage-ng-4.3.75/.travis.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -sudo: required -language: bash -services: - - docker - -# cache the .ccache directory between the builds -# see https://docs.travis-ci.com/user/caching/ -cache: - directories: - - $HOME/.ccache - -before_install: - - docker build -t libstorage-ng-image . -script: - # run the travis script - # mount the ccache as a volume (bind-mount) so the changes are available later outside the container - - docker run -it --privileged -e TRAVIS=1 -e TRAVIS_JOB_ID="$TRAVIS_JOB_ID" -v $HOME/.ccache:/root/.ccache libstorage-ng-image ./.travis.sh diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.3.72/Dockerfile new/libstorage-ng-4.3.75/Dockerfile --- old/libstorage-ng-4.3.72/Dockerfile 2020-12-07 10:31:47.000000000 +0100 +++ new/libstorage-ng-4.3.75/Dockerfile 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -FROM registry.opensuse.org/yast/head/containers/libstorage-ng:latest -COPY . /usr/src/app diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.3.72/README.md new/libstorage-ng-4.3.75/README.md --- old/libstorage-ng-4.3.72/README.md 2020-12-07 10:31:47.000000000 +0100 +++ new/libstorage-ng-4.3.75/README.md 2020-12-16 13:42:48.000000000 +0100 @@ -1,8 +1,6 @@ libstorage-ng ============= -[](https://travis-ci.org/openSUSE/libstorage-ng) - libstorage-ng is the designated successor of [libstorage](https://github.com/openSUSE/libstorage), a C++ library used by [YaST](https://github.com/yast) to perform most storage related tasks. @@ -155,25 +153,8 @@ xdg-open doc/autodocs/html/inherits.html ``` -Travis CI ---------- +CI +-- + +For continuous integration GitHub Actions are used. -For continuous integration at GiHub the [Travis CI](https://travis-ci.org/openSUSE/libstorage-ng) -service is used. To have the required build environment we use the -[yastdevel/libstorage-ng](https://hub.docker.com/r/yastdevel/libstorage-ng/) -docker image. See the [Travis documentation](https://docs.travis-ci.com/) for more details. - -To speed up the builds there we use the [ccache](https://ccache.samba.org/) tool and -the [Travis caching](https://docs.travis-ci.com/user/caching/) support. - -### Travis Cache Cleanup - -The cache is maintained automatically and does not need any intervention. However, -in a very rare case you might need to clear the cache and start from scratch. - -- You can directly remove the [cache archive at Travis](https://travis-ci.org/openSUSE/libstorage-ng/caches), - but this requires the appropriate access permissions. -- If you are not allowed to remove the cache at Travis then temporarily uncomment the cache cleanup - code in the [.travis.sh](https://github.com/openSUSE/libstorage-ng/blob/master/.travis.sh) file. - After the cache is cleared you can remove this temporary commit, Travis will use empty cache - for the next build. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.3.72/VERSION new/libstorage-ng-4.3.75/VERSION --- old/libstorage-ng-4.3.72/VERSION 2020-12-07 10:31:47.000000000 +0100 +++ new/libstorage-ng-4.3.75/VERSION 2020-12-16 13:42:48.000000000 +0100 @@ -1 +1 @@ -4.3.72 +4.3.75 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.3.72/integration-tests/filesystems/btrfs/quota/bsc1179590.py new/libstorage-ng-4.3.75/integration-tests/filesystems/btrfs/quota/bsc1179590.py --- old/libstorage-ng-4.3.72/integration-tests/filesystems/btrfs/quota/bsc1179590.py 1970-01-01 01:00:00.000000000 +0100 +++ new/libstorage-ng-4.3.75/integration-tests/filesystems/btrfs/quota/bsc1179590.py 2020-12-16 13:42:48.000000000 +0100 @@ -0,0 +1,38 @@ +#!/usr/bin/python3 + +# requirements: btrfs on /dev/sdc1 with quota enabled + + +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) + +blk_device = BlkDevice.find_by_name(staging, "/dev/sdb1") + +btrfs = to_btrfs(blk_device.get_blk_filesystem()) + +top_level = btrfs.get_top_level_btrfs_subvolume() + +subvolume = top_level.create_btrfs_subvolume("z") + +qgroup = subvolume.get_btrfs_qgroup() +qgroup.set_referenced_limit(1 * GiB) + +subvolume.remove_descendants(View_REMOVE) +staging.remove_device(subvolume) + +print(staging) + +commit(storage) + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.3.72/storage/Filesystems/BtrfsImpl.cc new/libstorage-ng-4.3.75/storage/Filesystems/BtrfsImpl.cc --- old/libstorage-ng-4.3.72/storage/Filesystems/BtrfsImpl.cc 2020-12-07 10:31:47.000000000 +0100 +++ new/libstorage-ng-4.3.75/storage/Filesystems/BtrfsImpl.cc 2020-12-16 13:42:48.000000000 +0100 @@ -700,9 +700,11 @@ if (support_btrfs_snapshot_relations()) { + // The parent UUID is nothing more than a hint (bsc#1179061). + const BtrfsSubvolume* parent = subvolumes_by_uuid[subvolume.parent_uuid]; if (!parent) - ST_THROW(Exception("parent subvolume not found by uuid")); + continue; const BtrfsSubvolume* child = subvolumes_by_uuid[subvolume.uuid]; if (!child) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.3.72/storage/Filesystems/BtrfsSubvolume.h new/libstorage-ng-4.3.75/storage/Filesystems/BtrfsSubvolume.h --- old/libstorage-ng-4.3.72/storage/Filesystems/BtrfsSubvolume.h 2020-12-07 10:31:47.000000000 +0100 +++ new/libstorage-ng-4.3.75/storage/Filesystems/BtrfsSubvolume.h 2020-12-16 13:42:48.000000000 +0100 @@ -134,8 +134,9 @@ std::vector<const BtrfsSubvolume*> get_snapshots() const; /** - * Check whether the btrfs subvolume has an origin. In other words, whether it is a - * snapshot. + * Check whether the btrfs subvolume has an origin. In other words, whether it is + * a snapshot. Note that here a snapshot stops being considered a snapshot if the + * origin has been removed. * * The term "origin" is not used with btrfs but with LVM. Unfortunately btrfs is * not consistent with the names: With 'btrfs subvolume snapshot' the thing is diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.3.72/storage/Holders/BtrfsQgroupRelationImpl.cc new/libstorage-ng-4.3.75/storage/Holders/BtrfsQgroupRelationImpl.cc --- old/libstorage-ng-4.3.72/storage/Holders/BtrfsQgroupRelationImpl.cc 2020-12-07 10:31:47.000000000 +0100 +++ new/libstorage-ng-4.3.75/storage/Holders/BtrfsQgroupRelationImpl.cc 2020-12-16 13:42:48.000000000 +0100 @@ -64,8 +64,18 @@ case View::REMOVE: { - const Device* device = get_source(); - return is_btrfs(device); + // Follow the relation if the btrfs is removed. + const Device* source = get_source(); + if (is_btrfs(source)) + return true; + + // Follow the relation if the qgroup was created along with the btrfs + // subvolume - in which case the id is 0/0. See bsc #1179590. + const BtrfsQgroup* target = to_btrfs_qgroup(get_target()); + if (target->get_id() == BtrfsQgroup::Impl::unknown_id) + return true; + + return false; } } _______________________________________________ openSUSE Commits mailing list -- commit@lists.opensuse.org To unsubscribe, email commit-le...@lists.opensuse.org List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette List Archives: https://lists.opensuse.org/archives/list/commit@lists.opensuse.org