locking: use g_autofree and remove unnecessary label

Signed-off-by: Jiang Jiacheng <jiangjiacheng@huawei.com>
Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Jiang Jiacheng 2023-01-06 17:18:33 +08:00 committed by Ján Tomko
parent a71744c7e5
commit 075cfd842e
2 changed files with 31 additions and 51 deletions

View File

@ -190,8 +190,8 @@ static virNetClient *virLockManagerLockDaemonConnectionNew(bool privileged,
virNetClientProgram **prog)
{
virNetClient *client = NULL;
char *lockdpath;
char *daemonPath = NULL;
g_autofree char *lockdpath = NULL;
g_autofree char *daemonPath = NULL;
*prog = NULL;
@ -220,14 +220,9 @@ static virNetClient *virLockManagerLockDaemonConnectionNew(bool privileged,
if (virNetClientAddProgram(client, *prog) < 0)
goto error;
VIR_FREE(daemonPath);
VIR_FREE(lockdpath);
return client;
error:
VIR_FREE(daemonPath);
VIR_FREE(lockdpath);
virNetClientClose(client);
virObjectUnref(client);
virObjectUnref(*prog);
@ -517,10 +512,9 @@ static int virLockManagerLockDaemonAddResource(virLockManager *lock,
unsigned int flags)
{
virLockManagerLockDaemonPrivate *priv = lock->privateData;
char *newName = NULL;
char *newLockspace = NULL;
g_autofree char *newName = NULL;
g_autofree char *newLockspace = NULL;
bool autoCreate = false;
int ret = -1;
virCheckFlags(VIR_LOCK_MANAGER_RESOURCE_READONLY |
VIR_LOCK_MANAGER_RESOURCE_SHARED, -1);
@ -533,7 +527,7 @@ static int virLockManagerLockDaemonAddResource(virLockManager *lock,
if (params || nparams) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("Unexpected parameters for disk resource"));
goto cleanup;
return -1;
}
if (!driver->autoDiskLease) {
if (!(flags & (VIR_LOCK_MANAGER_RESOURCE_SHARED |
@ -549,7 +543,7 @@ static int virLockManagerLockDaemonAddResource(virLockManager *lock,
driver->lvmLockSpaceDir) {
VIR_DEBUG("Trying to find an LVM UUID for %s", name);
if (virLockManagerGetLVMKey(name, &newName) < 0)
goto cleanup;
return -1;
if (newName) {
VIR_DEBUG("Got an LVM UUID %s for %s", newName, name);
@ -565,7 +559,7 @@ static int virLockManagerLockDaemonAddResource(virLockManager *lock,
driver->scsiLockSpaceDir) {
VIR_DEBUG("Trying to find an SCSI ID for %s", name);
if (virStorageFileGetSCSIKey(name, &newName, false) < 0)
goto cleanup;
return -1;
if (newName) {
VIR_DEBUG("Got an SCSI ID %s for %s", newName, name);
@ -580,7 +574,7 @@ static int virLockManagerLockDaemonAddResource(virLockManager *lock,
if (driver->fileLockSpaceDir) {
newLockspace = g_strdup(driver->fileLockSpaceDir);
if (virCryptoHashString(VIR_CRYPTO_HASH_SHA256, name, &newName) < 0)
goto cleanup;
return -1;
autoCreate = true;
VIR_DEBUG("Using indirect lease %s for %s", newName, name);
} else {
@ -599,7 +593,7 @@ static int virLockManagerLockDaemonAddResource(virLockManager *lock,
if (params[i].value.ul != 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("Offset must be zero for this lock manager"));
goto cleanup;
return -1;
}
} else if (STREQ(params[i].key, "lockspace")) {
lockspace = params[i].value.str;
@ -609,13 +603,13 @@ static int virLockManagerLockDaemonAddResource(virLockManager *lock,
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Unexpected parameter %s for lease resource"),
params[i].key);
goto cleanup;
return -1;
}
}
if (!path || !lockspace) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("Missing path or lockspace for lease resource"));
goto cleanup;
return -1;
}
newLockspace = g_strdup_printf("%s/%s", path, lockspace);
newName = g_strdup(name);
@ -625,7 +619,7 @@ static int virLockManagerLockDaemonAddResource(virLockManager *lock,
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Unknown lock manager object type %d"),
type);
goto cleanup;
return -1;
}
VIR_EXPAND_N(priv->resources, priv->nresources, 1);
@ -640,11 +634,7 @@ static int virLockManagerLockDaemonAddResource(virLockManager *lock,
priv->resources[priv->nresources-1].flags |=
VIR_LOCK_SPACE_PROTOCOL_ACQUIRE_RESOURCE_AUTOCREATE;
ret = 0;
cleanup:
VIR_FREE(newLockspace);
VIR_FREE(newName);
return ret;
return 0;
}

View File

@ -118,9 +118,8 @@ virLockManagerSanlockLoadConfig(virLockManagerSanlockDriver *driver,
const char *configFile)
{
g_autoptr(virConf) conf = NULL;
int ret = -1;
char *user = NULL;
char *group = NULL;
g_autofree char *user = NULL;
g_autofree char *group = NULL;
if (access(configFile, R_OK) == -1) {
if (errno != ENOENT) {
@ -136,38 +135,34 @@ virLockManagerSanlockLoadConfig(virLockManagerSanlockDriver *driver,
return -1;
if (virConfGetValueBool(conf, "auto_disk_leases", &driver->autoDiskLease) < 0)
goto cleanup;
return -1;
if (virConfGetValueString(conf, "disk_lease_dir", &driver->autoDiskLeasePath) < 0)
goto cleanup;
return -1;
if (virConfGetValueUInt(conf, "host_id", &driver->hostID) < 0)
goto cleanup;
return -1;
driver->requireLeaseForDisks = !driver->autoDiskLease;
if (virConfGetValueBool(conf, "require_lease_for_disks", &driver->requireLeaseForDisks) < 0)
goto cleanup;
return -1;
if (virConfGetValueUInt(conf, "io_timeout", &driver->io_timeout) < 0)
goto cleanup;
return -1;
if (virConfGetValueString(conf, "user", &user) < 0)
goto cleanup;
return -1;
if (user &&
virGetUserID(user, &driver->user) < 0)
goto cleanup;
return -1;
if (virConfGetValueString(conf, "group", &group) < 0)
goto cleanup;
return -1;
if (group &&
virGetGroupID(group, &driver->group) < 0)
goto cleanup;
return -1;
ret = 0;
cleanup:
VIR_FREE(user);
VIR_FREE(group);
return ret;
return 0;
}
static int
@ -778,8 +773,7 @@ virLockManagerSanlockRegisterKillscript(int sock,
{
g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER;
char *path;
char *args = NULL;
int ret = -1;
g_autofree char *args = NULL;
int rv;
switch (action) {
@ -796,7 +790,7 @@ virLockManagerSanlockRegisterKillscript(int sock,
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("Failure action %s is not supported by sanlock"),
virDomainLockFailureTypeToString(action));
goto cleanup;
return -1;
}
virBufferEscape(&buf, '\\', "\\ ", "%s", vmuri);
@ -820,14 +814,14 @@ virLockManagerSanlockRegisterKillscript(int sock,
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Sanlock helper path is longer than %d: '%s'"),
SANLK_HELPER_PATH_LEN - 1, path);
goto cleanup;
return -1;
}
if (strlen(args) >= SANLK_HELPER_ARGS_LEN) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Sanlock helper arguments are longer than %d:"
" '%s'"),
SANLK_HELPER_ARGS_LEN - 1, args);
goto cleanup;
return -1;
}
if ((rv = sanlock_killpath(sock, 0, path, args)) < 0) {
@ -842,14 +836,10 @@ virLockManagerSanlockRegisterKillscript(int sock,
_("Failed to register lock failure"
" action"));
}
goto cleanup;
return -1;
}
ret = 0;
cleanup:
VIR_FREE(args);
return ret;
return 0;
}
static int virLockManagerSanlockAcquire(virLockManager *lock,