mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 21:55:25 +00:00
storage_util: Introduce storageBackendDoCreateQemuImg
Extract out command line setup and run from storageBackendCreateQemuImg as we'll need to run it twice soon. Signed-off-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
parent
e1e1fcf769
commit
352e549450
@ -1354,6 +1354,31 @@ storageBackendGenerateSecretData(virStoragePoolObjPtr pool,
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
storageBackendDoCreateQemuImg(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
virStorageVolDefPtr inputvol,
|
||||
unsigned int flags,
|
||||
const char *create_tool,
|
||||
const char *secretPath)
|
||||
{
|
||||
int ret;
|
||||
virCommandPtr cmd;
|
||||
|
||||
cmd = virStorageBackendCreateQemuImgCmdFromVol(pool, vol, inputvol,
|
||||
flags, create_tool,
|
||||
secretPath);
|
||||
if (!cmd)
|
||||
return -1;
|
||||
|
||||
ret = virStorageBackendCreateExecCommand(pool, vol, cmd);
|
||||
|
||||
virCommandFree(cmd);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
storageBackendCreateQemuImg(virStoragePoolObjPtr pool,
|
||||
virStorageVolDefPtr vol,
|
||||
@ -1362,7 +1387,6 @@ storageBackendCreateQemuImg(virStoragePoolObjPtr pool,
|
||||
{
|
||||
int ret = -1;
|
||||
char *create_tool;
|
||||
virCommandPtr cmd;
|
||||
char *secretPath = NULL;
|
||||
|
||||
virCheckFlags(VIR_STORAGE_VOL_CREATE_PREALLOC_METADATA, -1);
|
||||
@ -1378,15 +1402,8 @@ storageBackendCreateQemuImg(virStoragePoolObjPtr pool,
|
||||
if (storageBackendGenerateSecretData(pool, vol, &secretPath) < 0)
|
||||
goto cleanup;
|
||||
|
||||
cmd = virStorageBackendCreateQemuImgCmdFromVol(pool, vol, inputvol,
|
||||
flags, create_tool,
|
||||
secretPath);
|
||||
if (!cmd)
|
||||
goto cleanup;
|
||||
|
||||
ret = virStorageBackendCreateExecCommand(pool, vol, cmd);
|
||||
|
||||
virCommandFree(cmd);
|
||||
ret = storageBackendDoCreateQemuImg(pool, vol, inputvol, flags,
|
||||
create_tool, secretPath);
|
||||
cleanup:
|
||||
if (secretPath) {
|
||||
unlink(secretPath);
|
||||
|
Loading…
Reference in New Issue
Block a user