mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-27 18:03:50 +03:00
Replace use of virLockError with virReportError
Update the lock manager drivers to use virReportError instead of the virLockError custom macro Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
parent
3445a3ec2f
commit
7f4ed3ec99
@ -48,11 +48,6 @@
|
||||
|
||||
#define VIR_FROM_THIS VIR_FROM_LOCKING
|
||||
|
||||
#define virLockError(code, ...) \
|
||||
virReportErrorHelper(VIR_FROM_THIS, code, __FILE__, \
|
||||
__FUNCTION__, __LINE__, __VA_ARGS__)
|
||||
|
||||
|
||||
#define VIR_LOCK_MANAGER_SANLOCK_AUTO_DISK_LOCKSPACE "__LIBVIRT__DISKS__"
|
||||
|
||||
/*
|
||||
@ -111,9 +106,9 @@ static int virLockManagerSanlockLoadConfig(const char *configFile)
|
||||
return -1;
|
||||
|
||||
#define CHECK_TYPE(name,typ) if (p && p->type != (typ)) { \
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR, \
|
||||
"%s: %s: expected type " #typ, \
|
||||
configFile, (name)); \
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, \
|
||||
"%s: %s: expected type " #typ, \
|
||||
configFile, (name)); \
|
||||
virConfFree(conf); \
|
||||
return -1; \
|
||||
}
|
||||
@ -167,9 +162,9 @@ static int virLockManagerSanlockSetupLockspace(void)
|
||||
ls.host_id = 0; /* Doesn't matter for initialization */
|
||||
ls.flags = 0;
|
||||
if (!virStrcpy(ls.host_id_disk.path, path, SANLK_PATH_LEN)) {
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Lockspace path '%s' exceeded %d characters"),
|
||||
path, SANLK_PATH_LEN);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Lockspace path '%s' exceeded %d characters"),
|
||||
path, SANLK_PATH_LEN);
|
||||
goto error;
|
||||
}
|
||||
ls.host_id_disk.offset = 0;
|
||||
@ -190,9 +185,9 @@ static int virLockManagerSanlockSetupLockspace(void)
|
||||
} else {
|
||||
if ((rv = sanlock_align(&ls.host_id_disk)) < 0) {
|
||||
if (rv <= -200)
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Unable to query sector size %s: error %d"),
|
||||
path, rv);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Unable to query sector size %s: error %d"),
|
||||
path, rv);
|
||||
else
|
||||
virReportSystemError(-rv,
|
||||
_("Unable to query sector size %s"),
|
||||
@ -219,9 +214,9 @@ static int virLockManagerSanlockSetupLockspace(void)
|
||||
|
||||
if ((rv = sanlock_init(&ls, NULL, 0, 0)) < 0) {
|
||||
if (rv <= -200)
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Unable to initialize lockspace %s: error %d"),
|
||||
path, rv);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Unable to initialize lockspace %s: error %d"),
|
||||
path, rv);
|
||||
else
|
||||
virReportSystemError(-rv,
|
||||
_("Unable to initialize lockspace %s"),
|
||||
@ -240,9 +235,9 @@ static int virLockManagerSanlockSetupLockspace(void)
|
||||
if ((rv = sanlock_add_lockspace(&ls, 0)) < 0) {
|
||||
if (-rv != EEXIST) {
|
||||
if (rv <= -200)
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Unable to add lockspace %s: error %d"),
|
||||
path, rv);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Unable to add lockspace %s: error %d"),
|
||||
path, rv);
|
||||
else
|
||||
virReportSystemError(-rv,
|
||||
_("Unable to add lockspace %s"),
|
||||
@ -296,8 +291,8 @@ static int virLockManagerSanlockInit(unsigned int version,
|
||||
goto error;
|
||||
|
||||
if (driver->autoDiskLease && !driver->hostID) {
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("Automatic disk lease mode enabled, but no host ID is set"));
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("Automatic disk lease mode enabled, but no host ID is set"));
|
||||
goto error;
|
||||
}
|
||||
|
||||
@ -338,14 +333,14 @@ static int virLockManagerSanlockNew(virLockManagerPtr lock,
|
||||
virCheckFlags(0, -1);
|
||||
|
||||
if (!driver) {
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("Sanlock plugin is not initialized"));
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("Sanlock plugin is not initialized"));
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (type != VIR_LOCK_MANAGER_OBJECT_TYPE_DOMAIN) {
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Unsupported object type %d"), type);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Unsupported object type %d"), type);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -363,9 +358,9 @@ static int virLockManagerSanlockNew(virLockManagerPtr lock,
|
||||
memcpy(priv->vm_uuid, param->value.uuid, 16);
|
||||
} else if (STREQ(param->key, "name")) {
|
||||
if (!virStrcpy(priv->vm_name, param->value.str, SANLK_NAME_LEN)) {
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Domain name '%s' exceeded %d characters"),
|
||||
param->value.str, SANLK_NAME_LEN);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Domain name '%s' exceeded %d characters"),
|
||||
param->value.str, SANLK_NAME_LEN);
|
||||
goto error;
|
||||
}
|
||||
} else if (STREQ(param->key, "pid")) {
|
||||
@ -409,14 +404,14 @@ static int virLockManagerSanlockDiskLeaseName(const char *path,
|
||||
int i;
|
||||
|
||||
if (strbuflen < ((MD5_DIGEST_SIZE * 2) + 1)) {
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("String length too small to store md5 checksum"));
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("String length too small to store md5 checksum"));
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!(md5_buffer(path, strlen(path), buf))) {
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("Unable to compute md5 checksum"));
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("Unable to compute md5 checksum"));
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -447,27 +442,27 @@ static int virLockManagerSanlockAddLease(virLockManagerPtr lock,
|
||||
res->flags = shared ? SANLK_RES_SHARED : 0;
|
||||
res->num_disks = 1;
|
||||
if (!virStrcpy(res->name, name, SANLK_NAME_LEN)) {
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Resource name '%s' exceeds %d characters"),
|
||||
name, SANLK_NAME_LEN);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Resource name '%s' exceeds %d characters"),
|
||||
name, SANLK_NAME_LEN);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
for (i = 0; i < nparams; i++) {
|
||||
if (STREQ(params[i].key, "path")) {
|
||||
if (!virStrcpy(res->disks[0].path, params[i].value.str, SANLK_PATH_LEN)) {
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Lease path '%s' exceeds %d characters"),
|
||||
params[i].value.str, SANLK_PATH_LEN);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Lease path '%s' exceeds %d characters"),
|
||||
params[i].value.str, SANLK_PATH_LEN);
|
||||
goto cleanup;
|
||||
}
|
||||
} else if (STREQ(params[i].key, "offset")) {
|
||||
res->disks[0].offset = params[i].value.ul;
|
||||
} else if (STREQ(params[i].key, "lockspace")) {
|
||||
if (!virStrcpy(res->lockspace_name, params[i].value.str, SANLK_NAME_LEN)) {
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Resource lockspace '%s' exceeds %d characters"),
|
||||
params[i].value.str, SANLK_NAME_LEN);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Resource lockspace '%s' exceeds %d characters"),
|
||||
params[i].value.str, SANLK_NAME_LEN);
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
@ -499,8 +494,8 @@ static int virLockManagerSanlockAddDisk(virLockManagerPtr lock,
|
||||
char *path = NULL;
|
||||
|
||||
if (nparams) {
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("Unexpected lock parameters for disk resource"));
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("Unexpected lock parameters for disk resource"));
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -520,18 +515,18 @@ static int virLockManagerSanlockAddDisk(virLockManagerPtr lock,
|
||||
goto cleanup;
|
||||
}
|
||||
if (!virStrcpy(res->disks[0].path, path, SANLK_PATH_LEN)) {
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Lease path '%s' exceeds %d characters"),
|
||||
path, SANLK_PATH_LEN);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Lease path '%s' exceeds %d characters"),
|
||||
path, SANLK_PATH_LEN);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (!virStrcpy(res->lockspace_name,
|
||||
VIR_LOCK_MANAGER_SANLOCK_AUTO_DISK_LOCKSPACE,
|
||||
SANLK_NAME_LEN)) {
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Resource lockspace '%s' exceeds %d characters"),
|
||||
VIR_LOCK_MANAGER_SANLOCK_AUTO_DISK_LOCKSPACE, SANLK_NAME_LEN);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Resource lockspace '%s' exceeds %d characters"),
|
||||
VIR_LOCK_MANAGER_SANLOCK_AUTO_DISK_LOCKSPACE, SANLK_NAME_LEN);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
@ -567,9 +562,9 @@ static int virLockManagerSanlockCreateLease(struct sanlk_resource *res)
|
||||
} else {
|
||||
if ((rv = sanlock_align(&res->disks[0])) < 0) {
|
||||
if (rv <= -200)
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Unable to query sector size %s: error %d"),
|
||||
res->disks[0].path, rv);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Unable to query sector size %s: error %d"),
|
||||
res->disks[0].path, rv);
|
||||
else
|
||||
virReportSystemError(-rv,
|
||||
_("Unable to query sector size %s"),
|
||||
@ -596,9 +591,9 @@ static int virLockManagerSanlockCreateLease(struct sanlk_resource *res)
|
||||
|
||||
if ((rv = sanlock_init(NULL, res, 0, 0)) < 0) {
|
||||
if (rv <= -200)
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Unable to initialize lease %s: error %d"),
|
||||
res->disks[0].path, rv);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Unable to initialize lease %s: error %d"),
|
||||
res->disks[0].path, rv);
|
||||
else
|
||||
virReportSystemError(-rv,
|
||||
_("Unable to initialize lease %s"),
|
||||
@ -631,9 +626,9 @@ static int virLockManagerSanlockAddResource(virLockManagerPtr lock,
|
||||
VIR_LOCK_MANAGER_RESOURCE_SHARED, -1);
|
||||
|
||||
if (priv->res_count == SANLK_MAX_RESOURCES) {
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Too many resources %d for object"),
|
||||
SANLK_MAX_RESOURCES);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Too many resources %d for object"),
|
||||
SANLK_MAX_RESOURCES);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -692,8 +687,8 @@ static int virLockManagerSanlockAcquire(virLockManagerPtr lock,
|
||||
if (priv->res_count == 0 &&
|
||||
priv->hasRWDisks &&
|
||||
driver->requireLeaseForDisks) {
|
||||
virLockError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||
_("Read/write, exclusive access, disks were present, but no leases specified"));
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||
_("Read/write, exclusive access, disks were present, but no leases specified"));
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -703,9 +698,9 @@ static int virLockManagerSanlockAcquire(virLockManagerPtr lock,
|
||||
}
|
||||
|
||||
if (!virStrcpy(opt->owner_name, priv->vm_name, SANLK_NAME_LEN)) {
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Domain name '%s' exceeded %d characters"),
|
||||
priv->vm_name, SANLK_NAME_LEN);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Domain name '%s' exceeded %d characters"),
|
||||
priv->vm_name, SANLK_NAME_LEN);
|
||||
goto error;
|
||||
}
|
||||
|
||||
@ -714,9 +709,9 @@ static int virLockManagerSanlockAcquire(virLockManagerPtr lock,
|
||||
&res_count,
|
||||
&res_args)) < 0) {
|
||||
if (rv <= -200)
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Unable to parse lock state %s: error %d"),
|
||||
state, rv);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Unable to parse lock state %s: error %d"),
|
||||
state, rv);
|
||||
else
|
||||
virReportSystemError(-rv,
|
||||
_("Unable to parse lock state %s"),
|
||||
@ -739,9 +734,9 @@ static int virLockManagerSanlockAcquire(virLockManagerPtr lock,
|
||||
if (priv->vm_pid == getpid() &&
|
||||
(sock = sanlock_register()) < 0) {
|
||||
if (sock <= -200)
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Failed to open socket to sanlock daemon: error %d"),
|
||||
sock);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Failed to open socket to sanlock daemon: error %d"),
|
||||
sock);
|
||||
else
|
||||
virReportSystemError(-sock, "%s",
|
||||
_("Failed to open socket to sanlock daemon"));
|
||||
@ -754,8 +749,8 @@ static int virLockManagerSanlockAcquire(virLockManagerPtr lock,
|
||||
priv->res_count, priv->res_args,
|
||||
opt)) < 0) {
|
||||
if (rv <= -200)
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Failed to acquire lock: error %d"), rv);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Failed to acquire lock: error %d"), rv);
|
||||
else
|
||||
virReportSystemError(-rv, "%s",
|
||||
_("Failed to acquire lock"));
|
||||
@ -778,8 +773,8 @@ static int virLockManagerSanlockAcquire(virLockManagerPtr lock,
|
||||
if (flags & VIR_LOCK_MANAGER_ACQUIRE_RESTRICT) {
|
||||
if ((rv = sanlock_restrict(sock, SANLK_RESTRICT_ALL)) < 0) {
|
||||
if (rv <= -200)
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Failed to restrict process: error %d"), rv);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Failed to restrict process: error %d"), rv);
|
||||
else
|
||||
virReportSystemError(-rv, "%s",
|
||||
_("Failed to restrict process"));
|
||||
@ -827,8 +822,8 @@ static int virLockManagerSanlockRelease(virLockManagerPtr lock,
|
||||
if (state) {
|
||||
if ((rv = sanlock_inquire(-1, priv->vm_pid, 0, &res_count, state)) < 0) {
|
||||
if (rv <= -200)
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Failed to inquire lock: error %d"), rv);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Failed to inquire lock: error %d"), rv);
|
||||
else
|
||||
virReportSystemError(-rv, "%s",
|
||||
_("Failed to inquire lock"));
|
||||
@ -841,8 +836,8 @@ static int virLockManagerSanlockRelease(virLockManagerPtr lock,
|
||||
|
||||
if ((rv = sanlock_release(-1, priv->vm_pid, SANLK_REL_ALL, 0, NULL)) < 0) {
|
||||
if (rv <= -200)
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Failed to release lock: error %d"), rv);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Failed to release lock: error %d"), rv);
|
||||
else
|
||||
virReportSystemError(-rv, "%s",
|
||||
_("Failed to release lock"));
|
||||
@ -862,7 +857,7 @@ static int virLockManagerSanlockInquire(virLockManagerPtr lock,
|
||||
virCheckFlags(0, -1);
|
||||
|
||||
if (!state) {
|
||||
virLockError(VIR_ERR_INVALID_ARG, __FUNCTION__);
|
||||
virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -870,8 +865,8 @@ static int virLockManagerSanlockInquire(virLockManagerPtr lock,
|
||||
|
||||
if ((rv = sanlock_inquire(-1, priv->vm_pid, 0, &res_count, state)) < 0) {
|
||||
if (rv <= -200)
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Failed to inquire lock: error %d"), rv);
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Failed to inquire lock: error %d"), rv);
|
||||
else
|
||||
virReportSystemError(-rv, "%s",
|
||||
_("Failed to inquire lock"));
|
||||
|
@ -39,23 +39,19 @@
|
||||
|
||||
#define VIR_FROM_THIS VIR_FROM_LOCKING
|
||||
|
||||
#define virLockError(code, ...) \
|
||||
virReportErrorHelper(VIR_FROM_THIS, code, __FILE__, \
|
||||
__FUNCTION__, __LINE__, __VA_ARGS__)
|
||||
|
||||
#define CHECK_PLUGIN(field, errret) \
|
||||
if (!plugin->driver->field) { \
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR, \
|
||||
_("Missing '%s' field in lock manager driver"), \
|
||||
#field); \
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, \
|
||||
_("Missing '%s' field in lock manager driver"), \
|
||||
#field); \
|
||||
return errret; \
|
||||
}
|
||||
|
||||
#define CHECK_MANAGER(field, errret) \
|
||||
if (!lock->driver->field) { \
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR, \
|
||||
_("Missing '%s' field in lock manager driver"), \
|
||||
#field); \
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, \
|
||||
_("Missing '%s' field in lock manager driver"), \
|
||||
#field); \
|
||||
return errret; \
|
||||
}
|
||||
|
||||
@ -150,15 +146,15 @@ virLockManagerPluginPtr virLockManagerPluginNew(const char *name,
|
||||
|
||||
handle = dlopen(modfile, RTLD_NOW | RTLD_LOCAL);
|
||||
if (!handle) {
|
||||
virLockError(VIR_ERR_SYSTEM_ERROR,
|
||||
_("Failed to load plugin %s: %s"),
|
||||
modfile, dlerror());
|
||||
virReportError(VIR_ERR_SYSTEM_ERROR,
|
||||
_("Failed to load plugin %s: %s"),
|
||||
modfile, dlerror());
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (!(driver = dlsym(handle, "virLockDriverImpl"))) {
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("Missing plugin initialization symbol 'virLockDriverImpl'"));
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("Missing plugin initialization symbol 'virLockDriverImpl'"));
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
@ -195,8 +191,8 @@ virLockManagerPluginNew(const char *name ATTRIBUTE_UNUSED,
|
||||
const char *configFile ATTRIBUTE_UNUSED,
|
||||
unsigned int flags_unused ATTRIBUTE_UNUSED)
|
||||
{
|
||||
virLockError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("this platform is missing dlopen"));
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("this platform is missing dlopen"));
|
||||
return NULL;
|
||||
}
|
||||
#endif /* !HAVE_DLFCN_H */
|
||||
|
Loading…
x
Reference in New Issue
Block a user