1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

ctdb-daemon: Remove unused old client database functions

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14294

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
This commit is contained in:
Martin Schwenke 2020-02-26 17:03:49 +11:00 committed by Martin Schwenke
parent c6c89495fb
commit fc23cd1b9c
3 changed files with 2 additions and 168 deletions

View File

@ -176,9 +176,6 @@ int ctdb_ctrl_getnodemap(struct ctdb_context *ctdb, struct timeval timeout,
int ctdb_ctrl_get_runstate(struct ctdb_context *ctdb, struct timeval timeout, int ctdb_ctrl_get_runstate(struct ctdb_context *ctdb, struct timeval timeout,
uint32_t destnode, uint32_t *runstate); uint32_t destnode, uint32_t *runstate);
int ctdb_ctrl_getdbpath(struct ctdb_context *ctdb, struct timeval timeout,
uint32_t destnode, uint32_t dbid,
TALLOC_CTX *mem_ctx, const char **path);
int ctdb_ctrl_getdbname(struct ctdb_context *ctdb, struct timeval timeout, int ctdb_ctrl_getdbname(struct ctdb_context *ctdb, struct timeval timeout,
uint32_t destnode, uint32_t dbid, uint32_t destnode, uint32_t dbid,
TALLOC_CTX *mem_ctx, const char **name); TALLOC_CTX *mem_ctx, const char **name);
@ -190,25 +187,6 @@ int ctdb_ctrl_createdb(struct ctdb_context *ctdb, struct timeval timeout,
int ctdb_ctrl_get_debuglevel(struct ctdb_context *ctdb, uint32_t destnode, int ctdb_ctrl_get_debuglevel(struct ctdb_context *ctdb, uint32_t destnode,
int32_t *level); int32_t *level);
/*
attach to a ctdb database
*/
int ctdb_ctrl_db_open_flags(struct ctdb_context *ctdb, uint32_t db_id,
int *tdb_flags);
struct ctdb_db_context *ctdb_attach(struct ctdb_context *ctdb,
struct timeval timeout,
const char *name,
uint8_t db_flags);
/* a ctdb call function */
typedef int (*ctdb_fn_t)(struct ctdb_call_info *);
/*
setup a ctdb call function
*/
int ctdb_set_call(struct ctdb_db_context *ctdb_db, ctdb_fn_t fn, uint32_t id);
int ctdb_ctrl_freeze(struct ctdb_context *ctdb, struct timeval timeout, int ctdb_ctrl_freeze(struct ctdb_context *ctdb, struct timeval timeout,
uint32_t destnode); uint32_t destnode);

View File

@ -36,6 +36,8 @@ struct ctdb_tcp_array {
/* /*
an installed ctdb remote call an installed ctdb remote call
*/ */
typedef int (*ctdb_fn_t)(struct ctdb_call_info *);
struct ctdb_registered_call { struct ctdb_registered_call {
struct ctdb_registered_call *next, *prev; struct ctdb_registered_call *next, *prev;
uint32_t id; uint32_t id;

View File

@ -1107,36 +1107,6 @@ int ctdb_ctrl_get_runstate(struct ctdb_context *ctdb,
return 0; return 0;
} }
/*
find the real path to a ltdb
*/
int ctdb_ctrl_getdbpath(struct ctdb_context *ctdb, struct timeval timeout, uint32_t destnode, uint32_t dbid, TALLOC_CTX *mem_ctx,
const char **path)
{
int ret;
int32_t res;
TDB_DATA data;
data.dptr = (uint8_t *)&dbid;
data.dsize = sizeof(dbid);
ret = ctdb_control(ctdb, destnode, 0,
CTDB_CONTROL_GETDBPATH, 0, data,
mem_ctx, &data, &res, &timeout, NULL);
if (ret != 0 || res != 0) {
return -1;
}
(*path) = talloc_strndup(mem_ctx, (const char *)data.dptr, data.dsize);
if ((*path) == NULL) {
return -1;
}
talloc_free(data.dptr);
return 0;
}
/* /*
find the name of a db find the name of a db
*/ */
@ -1233,122 +1203,6 @@ int ctdb_ctrl_get_debuglevel(struct ctdb_context *ctdb, uint32_t destnode, int32
return 0; return 0;
} }
/*
* Get db open flags
*/
int ctdb_ctrl_db_open_flags(struct ctdb_context *ctdb, uint32_t db_id,
int *tdb_flags)
{
TDB_DATA indata, outdata;
int ret;
int32_t res;
indata.dptr = (uint8_t *)&db_id;
indata.dsize = sizeof(db_id);
ret = ctdb_control(ctdb, CTDB_CURRENT_NODE, 0,
CTDB_CONTROL_DB_OPEN_FLAGS, 0, indata,
ctdb, &outdata, &res, NULL, NULL);
if (ret != 0 || res != 0) {
D_ERR("ctdb control for db open flags failed\n");
return -1;
}
if (outdata.dsize != sizeof(int32_t)) {
D_ERR(__location__ " expected %zi bytes, received %zi bytes\n",
sizeof(int32_t), outdata.dsize);
talloc_free(outdata.dptr);
return -1;
}
*tdb_flags = *(int32_t *)outdata.dptr;
talloc_free(outdata.dptr);
return 0;
}
/*
attach to a specific database - client call
*/
struct ctdb_db_context *ctdb_attach(struct ctdb_context *ctdb,
struct timeval timeout,
const char *name,
uint8_t db_flags)
{
struct ctdb_db_context *ctdb_db;
int ret;
int tdb_flags;
ctdb_db = ctdb_db_handle(ctdb, name);
if (ctdb_db) {
return ctdb_db;
}
ctdb_db = talloc_zero(ctdb, struct ctdb_db_context);
CTDB_NO_MEMORY_NULL(ctdb, ctdb_db);
ctdb_db->ctdb = ctdb;
ctdb_db->db_name = talloc_strdup(ctdb_db, name);
CTDB_NO_MEMORY_NULL(ctdb, ctdb_db->db_name);
/* tell ctdb daemon to attach */
ret = ctdb_ctrl_createdb(ctdb, timeout, CTDB_CURRENT_NODE,
ctdb_db, name, db_flags, &ctdb_db->db_id);
if (ret != 0) {
DEBUG(DEBUG_ERR,("Failed to attach to database '%s'\n", name));
talloc_free(ctdb_db);
return NULL;
}
ret = ctdb_ctrl_getdbpath(ctdb, timeout, CTDB_CURRENT_NODE, ctdb_db->db_id, ctdb_db, &ctdb_db->db_path);
if (ret != 0) {
DEBUG(DEBUG_ERR,("Failed to get dbpath for database '%s'\n", name));
talloc_free(ctdb_db);
return NULL;
}
ret = ctdb_ctrl_db_open_flags(ctdb, ctdb_db->db_id, &tdb_flags);
if (ret != 0) {
D_ERR("Failed to get tdb_flags for database '%s'\n", name);
talloc_free(ctdb_db);
return NULL;
}
ctdb_db->ltdb = tdb_wrap_open(ctdb_db, ctdb_db->db_path, 0, tdb_flags,
O_RDWR, 0);
if (ctdb_db->ltdb == NULL) {
ctdb_set_error(ctdb, "Failed to open tdb '%s'\n", ctdb_db->db_path);
talloc_free(ctdb_db);
return NULL;
}
ctdb_db->db_flags = db_flags;
DLIST_ADD(ctdb->db_list, ctdb_db);
/* add well known functions */
ctdb_set_call(ctdb_db, ctdb_null_func, CTDB_NULL_FUNC);
ctdb_set_call(ctdb_db, ctdb_fetch_func, CTDB_FETCH_FUNC);
ctdb_set_call(ctdb_db, ctdb_fetch_with_header_func, CTDB_FETCH_WITH_HEADER_FUNC);
return ctdb_db;
}
/*
setup a call for a database
*/
int ctdb_set_call(struct ctdb_db_context *ctdb_db, ctdb_fn_t fn, uint32_t id)
{
struct ctdb_registered_call *call;
/* register locally */
call = talloc(ctdb_db, struct ctdb_registered_call);
call->fn = fn;
call->id = id;
DLIST_ADD(ctdb_db->calls, call);
return 0;
}
/* Freeze all databases */ /* Freeze all databases */
int ctdb_ctrl_freeze(struct ctdb_context *ctdb, struct timeval timeout, int ctdb_ctrl_freeze(struct ctdb_context *ctdb, struct timeval timeout,
uint32_t destnode) uint32_t destnode)