diff --git a/src/storage/storage_backend_fs.c b/src/storage/storage_backend_fs.c index 905073f2e7..dc9869417e 100644 --- a/src/storage/storage_backend_fs.c +++ b/src/storage/storage_backend_fs.c @@ -328,7 +328,7 @@ virStorageBackendFileSystemMount(virStoragePoolObjPtr pool) if (!(src = virStorageBackendFileSystemGetPoolSource(pool))) return -1; - cmd = virStorageBackendFileSystemMountCmd(def, src); + cmd = virStorageBackendFileSystemMountCmd(MOUNT, def, src); if (virCommandRun(cmd, NULL) < 0) goto cleanup; diff --git a/src/storage/storage_backend_logical.c b/src/storage/storage_backend_logical.c index b75e8ae5d9..fd95bd0d48 100644 --- a/src/storage/storage_backend_logical.c +++ b/src/storage/storage_backend_logical.c @@ -50,7 +50,7 @@ virStorageBackendLogicalSetActive(virStoragePoolObjPtr pool, { int ret; virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool); - virCommandPtr cmd = virStorageBackendLogicalChangeCmd(def, on); + virCommandPtr cmd = virStorageBackendLogicalChangeCmd(VGCHANGE, def, on); ret = virCommandRun(cmd, NULL); virCommandFree(cmd); diff --git a/src/storage/storage_util.c b/src/storage/storage_util.c index 01f3c93008..a84ee5b600 100644 --- a/src/storage/storage_util.c +++ b/src/storage/storage_util.c @@ -4312,7 +4312,8 @@ virStorageBackendFileSystemMountDefaultArgs(virCommandPtr cmd, virCommandPtr -virStorageBackendFileSystemMountCmd(virStoragePoolDefPtr def, +virStorageBackendFileSystemMountCmd(const char *cmdstr, + virStoragePoolDefPtr def, const char *src) { /* 'mount -t auto' doesn't seem to auto determine nfs (or cifs), @@ -4326,7 +4327,7 @@ virStorageBackendFileSystemMountCmd(virStoragePoolDefPtr def, def->source.format == VIR_STORAGE_POOL_NETFS_CIFS); virCommandPtr cmd = NULL; - cmd = virCommandNew(MOUNT); + cmd = virCommandNew(cmdstr); if (netauto) virStorageBackendFileSystemMountNFSArgs(cmd, src, def); else if (glusterfs) @@ -4340,10 +4341,11 @@ virStorageBackendFileSystemMountCmd(virStoragePoolDefPtr def, virCommandPtr -virStorageBackendLogicalChangeCmd(virStoragePoolDefPtr def, +virStorageBackendLogicalChangeCmd(const char *cmdstr, + virStoragePoolDefPtr def, bool on) { - return virCommandNewArgList(VGCHANGE, + return virCommandNewArgList(cmdstr, on ? "-aly" : "-aln", def->source.name, NULL); diff --git a/src/storage/storage_util.h b/src/storage/storage_util.h index a2ef2ac07d..d0cb5d9884 100644 --- a/src/storage/storage_util.h +++ b/src/storage/storage_util.h @@ -181,11 +181,13 @@ char * virStorageBackendFileSystemGetPoolSource(virStoragePoolObjPtr pool); virCommandPtr -virStorageBackendFileSystemMountCmd(virStoragePoolDefPtr def, +virStorageBackendFileSystemMountCmd(const char *cmdstr, + virStoragePoolDefPtr def, const char *src); virCommandPtr -virStorageBackendLogicalChangeCmd(virStoragePoolDefPtr def, +virStorageBackendLogicalChangeCmd(const char *cmdstr, + virStoragePoolDefPtr def, bool on); #endif /* __VIR_STORAGE_UTIL_H__ */ diff --git a/tests/storagepoolxml2argvtest.c b/tests/storagepoolxml2argvtest.c index 534cb21144..196989cb6d 100644 --- a/tests/storagepoolxml2argvtest.c +++ b/tests/storagepoolxml2argvtest.c @@ -9,6 +9,13 @@ #define VIR_FROM_THIS VIR_FROM_NONE +#ifndef MOUNT +# define MOUNT "/usr/bin/mount" +#endif + +#ifndef VGCHANGE +# define VGCHANGE "/usr/sbin/vgchange" +#endif static int testCompareXMLToArgvFiles(bool shouldFail, @@ -40,11 +47,11 @@ testCompareXMLToArgvFiles(bool shouldFail, goto cleanup; } - cmd = virStorageBackendFileSystemMountCmd(def, src); + cmd = virStorageBackendFileSystemMountCmd(MOUNT, def, src); break; case VIR_STORAGE_POOL_LOGICAL: - cmd = virStorageBackendLogicalChangeCmd(def, true); + cmd = virStorageBackendLogicalChangeCmd(VGCHANGE, def, true); break; case VIR_STORAGE_POOL_DIR: