mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
remote_driver: Refactor few functions as example of auto-locking
Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
parent
8d7e3a723d
commit
08406591ce
@ -7978,12 +7978,10 @@ remoteStorageVolGetInfoFlags(virStorageVolPtr vol,
|
|||||||
virStorageVolInfoPtr result,
|
virStorageVolInfoPtr result,
|
||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
int rv = -1;
|
|
||||||
struct private_data *priv = vol->conn->privateData;
|
struct private_data *priv = vol->conn->privateData;
|
||||||
remote_storage_vol_get_info_flags_args args;
|
remote_storage_vol_get_info_flags_args args;
|
||||||
remote_storage_vol_get_info_flags_ret ret;
|
remote_storage_vol_get_info_flags_ret ret;
|
||||||
|
VIR_LOCK_GUARD lock = remoteDriverLock(priv);
|
||||||
remoteDriverLock(priv);
|
|
||||||
|
|
||||||
make_nonnull_storage_vol(&args.vol, vol);
|
make_nonnull_storage_vol(&args.vol, vol);
|
||||||
args.flags = flags;
|
args.flags = flags;
|
||||||
@ -7994,18 +7992,14 @@ remoteStorageVolGetInfoFlags(virStorageVolPtr vol,
|
|||||||
(xdrproc_t)xdr_remote_storage_vol_get_info_flags_args,
|
(xdrproc_t)xdr_remote_storage_vol_get_info_flags_args,
|
||||||
(char *)&args,
|
(char *)&args,
|
||||||
(xdrproc_t)xdr_remote_storage_vol_get_info_flags_ret,
|
(xdrproc_t)xdr_remote_storage_vol_get_info_flags_ret,
|
||||||
(char *)&ret) == -1) {
|
(char *)&ret) == -1)
|
||||||
goto done;
|
return -1;
|
||||||
}
|
|
||||||
|
|
||||||
result->type = ret.type;
|
result->type = ret.type;
|
||||||
result->capacity = ret.capacity;
|
result->capacity = ret.capacity;
|
||||||
result->allocation = ret.allocation;
|
result->allocation = ret.allocation;
|
||||||
rv = 0;
|
|
||||||
|
|
||||||
done:
|
return 0;
|
||||||
remoteDriverUnlock(priv);
|
|
||||||
return rv;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -8143,17 +8137,15 @@ remoteDomainAuthorizedSSHKeysSet(virDomainPtr domain,
|
|||||||
unsigned int nkeys,
|
unsigned int nkeys,
|
||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
int rv = -1;
|
|
||||||
struct private_data *priv = domain->conn->privateData;
|
struct private_data *priv = domain->conn->privateData;
|
||||||
remote_domain_authorized_ssh_keys_set_args args;
|
remote_domain_authorized_ssh_keys_set_args args;
|
||||||
|
VIR_LOCK_GUARD lock = remoteDriverLock(priv);
|
||||||
remoteDriverLock(priv);
|
|
||||||
|
|
||||||
if (nkeys > REMOTE_DOMAIN_AUTHORIZED_SSH_KEYS_MAX) {
|
if (nkeys > REMOTE_DOMAIN_AUTHORIZED_SSH_KEYS_MAX) {
|
||||||
virReportError(VIR_ERR_RPC, "%s",
|
virReportError(VIR_ERR_RPC, "%s",
|
||||||
_("remoteDomainAuthorizedSSHKeysSet: "
|
_("remoteDomainAuthorizedSSHKeysSet: "
|
||||||
"returned number of keys exceeds limit"));
|
"returned number of keys exceeds limit"));
|
||||||
goto cleanup;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
make_nonnull_domain(&args.dom, domain);
|
make_nonnull_domain(&args.dom, domain);
|
||||||
@ -8164,15 +8156,10 @@ remoteDomainAuthorizedSSHKeysSet(virDomainPtr domain,
|
|||||||
|
|
||||||
if (call(domain->conn, priv, 0, REMOTE_PROC_DOMAIN_AUTHORIZED_SSH_KEYS_SET,
|
if (call(domain->conn, priv, 0, REMOTE_PROC_DOMAIN_AUTHORIZED_SSH_KEYS_SET,
|
||||||
(xdrproc_t) xdr_remote_domain_authorized_ssh_keys_set_args, (char *)&args,
|
(xdrproc_t) xdr_remote_domain_authorized_ssh_keys_set_args, (char *)&args,
|
||||||
(xdrproc_t) xdr_void, (char *) NULL) == -1) {
|
(xdrproc_t) xdr_void, (char *) NULL) == -1)
|
||||||
goto cleanup;
|
return -1;
|
||||||
}
|
|
||||||
|
|
||||||
rv = 0;
|
return 0;
|
||||||
|
|
||||||
cleanup:
|
|
||||||
remoteDriverUnlock(priv);
|
|
||||||
return rv;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user