Skip to content

Commit

Permalink
Merge pull request #1092 from vojtechtrefny/master_lvm-config-version…
Browse files Browse the repository at this point in the history
…-fix

lvm: Require higher version of LVM for lvm.conf parsing
  • Loading branch information
vojtechtrefny authored Jan 31, 2025
2 parents de9ecdb + caa40c7 commit b0df2d8
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/plugins/lvm-dbus.c
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,7 @@ static GMutex deps_check_lock;
static const UtilDep deps[DEPS_LAST] = {
{"lvm", LVM_MIN_VERSION, "version", "LVM version:\\s+([\\d\\.]+)"},
{"lvmdevices", NULL, NULL, NULL},
{"lvmconfig", NULL, NULL, NULL},
{"lvmconfig", "2.03.17", "--version", "LVM version:\\s+([\\d\\.]+)"},
};

#define DBUS_DEPS_LVMDBUSD 0
Expand Down
7 changes: 6 additions & 1 deletion src/plugins/lvm.c
Original file line number Diff line number Diff line change
Expand Up @@ -307,11 +307,14 @@ static GMutex deps_check_lock;
#define DEPS_LVM_MASK (1 << DEPS_LVM)
#define DEPS_LVMDEVICES 1
#define DEPS_LVMDEVICES_MASK (1 << DEPS_LVMDEVICES)
#define DEPS_LAST 2
#define DEPS_LVMCONFIG 2
#define DEPS_LVMCONFIG_MASK (1 << DEPS_LVMCONFIG)
#define DEPS_LAST 3

static const UtilDep deps[DEPS_LAST] = {
{"lvm", LVM_MIN_VERSION, "version", "LVM version:\\s+([\\d\\.]+)"},
{"lvmdevices", NULL, NULL, NULL},
{"lvmconfig", "2.03.17", "--version", "LVM version:\\s+([\\d\\.]+)"},
};

#define FEATURES_VDO 0
Expand Down Expand Up @@ -396,6 +399,8 @@ gboolean bd_lvm_is_tech_avail (BDLVMTech tech, guint64 mode, GError **error) {
check_deps (&avail_deps, DEPS_LVM_MASK, deps, DEPS_LAST, &deps_check_lock, error);
case BD_LVM_TECH_DEVICES:
return check_deps (&avail_deps, DEPS_LVMDEVICES_MASK, deps, DEPS_LAST, &deps_check_lock, error);
case BD_LVM_TECH_CONFIG:
return check_deps (&avail_deps, DEPS_LVMCONFIG_MASK, deps, DEPS_LAST, &deps_check_lock, error);
default:
/* everything is supported by this implementation of the plugin */
return check_deps (&avail_deps, DEPS_LVM_MASK, deps, DEPS_LAST, &deps_check_lock, error);
Expand Down
6 changes: 6 additions & 0 deletions tests/skip.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,9 @@
- test: lvm_dbus_tests.LvmTestPartialLVs
skip_on:
- reason: "LVM DBus doesn't support LV repair yet"

- test: (lvm_test|lvm_dbus_tests).LvmNoDevTestCase.test_lvm_config
skip_on:
- distro: "debian"
version: "12"
reason: "LVM >= 2.03.17 needed for LVM config parsing with --valuesonly"

0 comments on commit b0df2d8

Please sign in to comment.