From: Arvin Schnell Date: Tue, 16 Apr 2024 16:03:25 +0000 (+0200) Subject: - disable qgroup if it does not exist X-Git-Tag: v0.11.0~7^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F896%2Fhead;p=thirdparty%2Fsnapper.git - disable qgroup if it does not exist --- diff --git a/LIBVERSION b/LIBVERSION index f8cb1fa1..0f4a1d6e 100644 --- a/LIBVERSION +++ b/LIBVERSION @@ -1 +1 @@ -7.4.2 +7.4.3 diff --git a/package/snapper.changes b/package/snapper.changes index 853b535a..b967ee17 100644 --- a/package/snapper.changes +++ b/package/snapper.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Apr 16 17:59:58 CEST 2024 - aschnell@suse.com + +- disable qgroup if it does not exist to avoid failure creating + snapshots with kernel 6.8.4 (gh#openSUSE/snapper#894) + ------------------------------------------------------------------- Mon Apr 08 08:54:07 CEST 2024 - aschnell@suse.com diff --git a/snapper/Btrfs.cc b/snapper/Btrfs.cc index b7b3a8d8..7659e4ec 100644 --- a/snapper/Btrfs.cc +++ b/snapper/Btrfs.cc @@ -1,6 +1,6 @@ /* * Copyright (c) [2011-2015] Novell, Inc. - * Copyright (c) [2016-2023] SUSE LLC + * Copyright (c) [2016-2024] SUSE LLC * * All Rights Reserved. * @@ -103,6 +103,19 @@ namespace snapper y2err("failed to parse qgroup '" << qgroup_str << "'"); SN_THROW(InvalidConfigException()); } + + if (get_level(qgroup) == 0) + { + y2err("invalid level of qgroup '" << qgroup_str << "'"); + SN_THROW(InvalidConfigException()); + } + + SDir general_dir = openGeneralDir(); + if (!does_qgroup_exist(general_dir.fd(), qgroup)) + { + y2err("qgroup '" << qgroup_str << "' does not exist"); + qgroup = no_qgroup; + } } else {