mirror of
https://git.proxmox.com/git/mirror_corosync
synced 2025-08-06 11:21:49 +00:00
Add a missing confdb_key_delete function to the confdb api.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1618 fd59a12c-fef9-0310-b244-a6a79926bd2f
This commit is contained in:
parent
432750d130
commit
442f4c5311
@ -31,6 +31,7 @@
|
||||
# Include configuration
|
||||
#
|
||||
srcdir ?= $(CURDIR)/../
|
||||
subdir ?= lib/
|
||||
|
||||
include $(srcdir)Makefile.inc
|
||||
|
||||
|
@ -659,6 +659,64 @@ error_exit:
|
||||
return (error);
|
||||
}
|
||||
|
||||
confdb_error_t confdb_key_delete (
|
||||
confdb_handle_t handle,
|
||||
unsigned int parent_object_handle,
|
||||
void *key_name,
|
||||
int key_name_len,
|
||||
void *value,
|
||||
int value_len)
|
||||
{
|
||||
confdb_error_t error;
|
||||
struct confdb_inst *confdb_inst;
|
||||
struct iovec iov[2];
|
||||
struct req_lib_confdb_key_delete req_lib_confdb_key_delete;
|
||||
mar_res_header_t res;
|
||||
|
||||
error = saHandleInstanceGet (&confdb_handle_t_db, handle, (void *)&confdb_inst);
|
||||
if (error != SA_AIS_OK) {
|
||||
return (error);
|
||||
}
|
||||
|
||||
if (confdb_inst->standalone) {
|
||||
error = SA_AIS_OK;
|
||||
|
||||
if (confdb_sa_key_delete(parent_object_handle,
|
||||
key_name, key_name_len,
|
||||
value, value_len))
|
||||
error = SA_AIS_ERR_ACCESS;
|
||||
goto error_exit;
|
||||
}
|
||||
|
||||
req_lib_confdb_key_delete.header.size = sizeof (struct req_lib_confdb_key_delete);
|
||||
req_lib_confdb_key_delete.header.id = MESSAGE_REQ_CONFDB_KEY_DELETE;
|
||||
req_lib_confdb_key_delete.object_handle = parent_object_handle;
|
||||
memcpy(req_lib_confdb_key_delete.key_name.value, key_name, key_name_len);
|
||||
req_lib_confdb_key_delete.key_name.length = key_name_len;
|
||||
memcpy(req_lib_confdb_key_delete.value.value, value, value_len);
|
||||
req_lib_confdb_key_delete.value.length = value_len;
|
||||
|
||||
iov[0].iov_base = (char *)&req_lib_confdb_key_delete;
|
||||
iov[0].iov_len = sizeof (struct req_lib_confdb_key_delete);
|
||||
|
||||
pthread_mutex_lock (&confdb_inst->response_mutex);
|
||||
|
||||
error = saSendMsgReceiveReply (confdb_inst->response_fd, iov, 1,
|
||||
&res, sizeof (res));
|
||||
|
||||
pthread_mutex_unlock (&confdb_inst->response_mutex);
|
||||
if (error != SA_AIS_OK) {
|
||||
goto error_exit;
|
||||
}
|
||||
|
||||
error = res.error;
|
||||
|
||||
error_exit:
|
||||
saHandleInstancePut (&confdb_handle_t_db, handle);
|
||||
|
||||
return (error);
|
||||
}
|
||||
|
||||
confdb_error_t confdb_key_get (
|
||||
confdb_handle_t handle,
|
||||
unsigned int parent_object_handle,
|
||||
|
@ -219,6 +219,18 @@ int confdb_sa_key_create (
|
||||
value, value_len);
|
||||
}
|
||||
|
||||
int confdb_sa_key_delete (
|
||||
unsigned int parent_object_handle,
|
||||
void *key_name,
|
||||
int key_name_len,
|
||||
void *value,
|
||||
int value_len)
|
||||
{
|
||||
return objdb->object_key_delete(parent_object_handle,
|
||||
key_name, key_name_len,
|
||||
value, value_len);
|
||||
}
|
||||
|
||||
int confdb_sa_key_get (
|
||||
unsigned int parent_object_handle,
|
||||
void *key_name,
|
||||
|
@ -37,6 +37,7 @@ extern int confdb_sa_object_create(unsigned int parent_object_handle, void *obje
|
||||
extern int confdb_sa_object_destroy(unsigned int object_handle);
|
||||
extern int confdb_sa_object_parent_get(unsigned int object_handle, unsigned int *parent_object_handle);
|
||||
extern int confdb_sa_key_create(unsigned int parent_object_handle, void *key_name, int key_name_len, void *value, int value_len);
|
||||
extern int confdb_sa_key_delete(unsigned int parent_object_handle, void *key_name, int key_name_len, void *value, int value_len);
|
||||
extern int confdb_sa_key_get(unsigned int parent_object_handle, void *key_name, int key_name_len, void *value, int *value_len);
|
||||
extern int confdb_sa_key_replace(unsigned int parent_object_handle, void *key_name, int key_name_len, void *old_value, int old_value_len, void *new_value, int new_value_len);
|
||||
extern int confdb_sa_object_find(unsigned int parent_object_handle, unsigned int start_pos, void *object_name, int object_name_len, unsigned int *object_handle, unsigned int *next_pos);
|
||||
|
Loading…
Reference in New Issue
Block a user