diff --git a/src/storage/storage_backend_logical.c b/src/storage/storage_backend_logical.c index 44cff61af7..12fff651e8 100644 --- a/src/storage/storage_backend_logical.c +++ b/src/storage/storage_backend_logical.c @@ -52,11 +52,7 @@ virStorageBackendLogicalSetActive(virStoragePoolObjPtr pool, { int ret; virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool); - virCommandPtr cmd = - virCommandNewArgList(VGCHANGE, - on ? "-aly" : "-aln", - def->source.name, - NULL); + virCommandPtr cmd = virStorageBackendLogicalChangeCmd(def, on); ret = virCommandRun(cmd, NULL); virCommandFree(cmd); diff --git a/src/storage/storage_util.c b/src/storage/storage_util.c index 789f270f2a..01f3c93008 100644 --- a/src/storage/storage_util.c +++ b/src/storage/storage_util.c @@ -4337,3 +4337,14 @@ virStorageBackendFileSystemMountCmd(virStoragePoolDefPtr def, virStorageBackendFileSystemMountDefaultArgs(cmd, src, def); return cmd; } + + +virCommandPtr +virStorageBackendLogicalChangeCmd(virStoragePoolDefPtr def, + bool on) +{ + return virCommandNewArgList(VGCHANGE, + on ? "-aly" : "-aln", + def->source.name, + NULL); +} diff --git a/src/storage/storage_util.h b/src/storage/storage_util.h index 28b3e0b9c9..a2ef2ac07d 100644 --- a/src/storage/storage_util.h +++ b/src/storage/storage_util.h @@ -184,4 +184,8 @@ virCommandPtr virStorageBackendFileSystemMountCmd(virStoragePoolDefPtr def, const char *src); +virCommandPtr +virStorageBackendLogicalChangeCmd(virStoragePoolDefPtr def, + bool on); + #endif /* __VIR_STORAGE_UTIL_H__ */ diff --git a/tests/storagepoolxml2argvdata/pool-logical-create.argv b/tests/storagepoolxml2argvdata/pool-logical-create.argv new file mode 100644 index 0000000000..8c7f8c93f9 --- /dev/null +++ b/tests/storagepoolxml2argvdata/pool-logical-create.argv @@ -0,0 +1 @@ +vgchange -aly HostVG diff --git a/tests/storagepoolxml2argvdata/pool-logical-noname.argv b/tests/storagepoolxml2argvdata/pool-logical-noname.argv new file mode 100644 index 0000000000..9f7eda00bd --- /dev/null +++ b/tests/storagepoolxml2argvdata/pool-logical-noname.argv @@ -0,0 +1 @@ +vgchange -aly zily diff --git a/tests/storagepoolxml2argvdata/pool-logical-nopath.argv b/tests/storagepoolxml2argvdata/pool-logical-nopath.argv new file mode 100644 index 0000000000..8c7f8c93f9 --- /dev/null +++ b/tests/storagepoolxml2argvdata/pool-logical-nopath.argv @@ -0,0 +1 @@ +vgchange -aly HostVG diff --git a/tests/storagepoolxml2argvdata/pool-logical.argv b/tests/storagepoolxml2argvdata/pool-logical.argv new file mode 100644 index 0000000000..8c7f8c93f9 --- /dev/null +++ b/tests/storagepoolxml2argvdata/pool-logical.argv @@ -0,0 +1 @@ +vgchange -aly HostVG diff --git a/tests/storagepoolxml2argvtest.c b/tests/storagepoolxml2argvtest.c index bb9e880554..534cb21144 100644 --- a/tests/storagepoolxml2argvtest.c +++ b/tests/storagepoolxml2argvtest.c @@ -43,8 +43,11 @@ testCompareXMLToArgvFiles(bool shouldFail, cmd = virStorageBackendFileSystemMountCmd(def, src); break; - case VIR_STORAGE_POOL_DIR: case VIR_STORAGE_POOL_LOGICAL: + cmd = virStorageBackendLogicalChangeCmd(def, true); + break; + + case VIR_STORAGE_POOL_DIR: case VIR_STORAGE_POOL_DISK: case VIR_STORAGE_POOL_ISCSI: case VIR_STORAGE_POOL_ISCSI_DIRECT: @@ -137,10 +140,10 @@ mymain(void) DO_TEST_FAIL("pool-dir"); DO_TEST_FAIL("pool-dir-naming"); DO_TEST("pool-fs"); - DO_TEST_FAIL("pool-logical"); - DO_TEST_FAIL("pool-logical-nopath"); - DO_TEST_FAIL("pool-logical-create"); - DO_TEST_FAIL("pool-logical-noname"); + DO_TEST("pool-logical"); + DO_TEST("pool-logical-nopath"); + DO_TEST("pool-logical-create"); + DO_TEST("pool-logical-noname"); DO_TEST_FAIL("pool-disk"); DO_TEST_FAIL("pool-disk-device-nopartsep"); DO_TEST_FAIL("pool-iscsi");