void *private_data),
void *private_data);
-NTSTATUS ctdbd_traverse(struct ctdbd_connection *master, uint32_t db_id,
- void (*fn)(TDB_DATA key, TDB_DATA data,
- void *private_data),
- void *private_data);
+int ctdbd_traverse(struct ctdbd_connection *master, uint32_t db_id,
+ void (*fn)(TDB_DATA key, TDB_DATA data,
+ void *private_data),
+ void *private_data);
NTSTATUS ctdbd_register_ips(struct ctdbd_connection *conn,
const struct sockaddr_storage *server,
ret = ctdb_read_req(conn, req.hdr.reqid, NULL, &hdr);
if (ret != 0) {
DEBUG(10, ("ctdb_read_req failed: %s\n", strerror(ret)));
- status = map_nt_error_from_unix(ret);
goto fail;
}
everything in-line.
*/
-NTSTATUS ctdbd_traverse(struct ctdbd_connection *master, uint32_t db_id,
+int ctdbd_traverse(struct ctdbd_connection *master, uint32_t db_id,
void (*fn)(TDB_DATA key, TDB_DATA data,
void *private_data),
void *private_data)
{
struct ctdbd_connection *conn;
- NTSTATUS status;
int ret;
TDB_DATA key, data;
struct ctdb_traverse_start t;
if (ret != 0) {
DEBUG(0, ("ctdbd_init_connection failed: %s\n",
strerror(ret)));
- return map_nt_error_from_unix(ret);
+ return ret;
}
t.db_id = db_id;
0, data, NULL, NULL, &cstatus);
if ((ret != 0) || (cstatus != 0)) {
- status = map_nt_error_from_unix(ret);
-
DEBUG(0,("ctdbd_control failed: %s, %d\n", strerror(ret),
cstatus));
- if (NT_STATUS_IS_OK(status)) {
+ if (ret == 0) {
/*
* We need a mapping here
*/
- status = NT_STATUS_UNSUCCESSFUL;
+ ret = EIO;
}
TALLOC_FREE(conn);
- return status;
+ return ret;
}
while (True) {
DEBUG(0, ("Got operation %u, expected a message\n",
(unsigned)hdr->operation));
TALLOC_FREE(conn);
- return NT_STATUS_UNEXPECTED_IO_ERROR;
+ return EIO;
}
m = (struct ctdb_req_message *)hdr;
DEBUG(0, ("Got invalid traverse data of length %d\n",
(int)m->datalen));
TALLOC_FREE(conn);
- return NT_STATUS_UNEXPECTED_IO_ERROR;
+ return EIO;
}
key.dsize = d->keylen;
if (key.dsize == 0 && data.dsize == 0) {
/* end of traverse */
TALLOC_FREE(conn);
- return NT_STATUS_OK;
+ return 0;
}
if (data.dsize < sizeof(struct ctdb_ltdb_header)) {
DEBUG(0, ("Got invalid ltdb header length %d\n",
(int)data.dsize));
TALLOC_FREE(conn);
- return NT_STATUS_UNEXPECTED_IO_ERROR;
+ return EIO;
}
data.dsize -= sizeof(struct ctdb_ltdb_header);
data.dptr += sizeof(struct ctdb_ltdb_header);
fn(key, data, private_data);
}
}
- return NT_STATUS_OK;
+ return 0;
}
/*
void *private_data),
void *private_data)
{
- NTSTATUS status;
+ int ret;
struct db_ctdb_ctx *ctx = talloc_get_type_abort(db->private_data,
struct db_ctdb_ctx);
struct traverse_state state;
if (db->persistent) {
struct tdb_context *ltdb = ctx->wtdb->tdb;
- int ret;
/* for persistent databases we don't need to do a ctdb traverse,
we can do a faster local traverse */
struct ctdb_rec_data *rec=NULL;
int i;
int count = 0;
+ NTSTATUS status;
if (newkeys == NULL) {
return -1;
return ret;
}
- status = ctdbd_traverse(messaging_ctdbd_connection(), ctx->db_id,
- traverse_callback, &state);
- if (!NT_STATUS_IS_OK(status)) {
+ ret = ctdbd_traverse(messaging_ctdbd_connection(), ctx->db_id,
+ traverse_callback, &state);
+ if (ret != 0) {
return -1;
}
return state.count;
void *private_data),
void *private_data)
{
- NTSTATUS status;
+ int ret;
struct db_ctdb_ctx *ctx = talloc_get_type_abort(db->private_data,
struct db_ctdb_ctx);
struct traverse_state state;
return tdb_traverse_read(ctx->wtdb->tdb, traverse_persistent_callback_read, &state);
}
- status = ctdbd_traverse(messaging_ctdbd_connection(), ctx->db_id,
- traverse_read_callback, &state);
- if (!NT_STATUS_IS_OK(status)) {
+ ret = ctdbd_traverse(messaging_ctdbd_connection(), ctx->db_id,
+ traverse_read_callback, &state);
+ if (ret != 0) {
return -1;
}
return state.count;
/* honor permissions if user has specified O_CREAT */
if (open_flags & O_CREAT) {
- int fd, ret;
+ int fd;
fd = tdb_fd(db_ctdb->wtdb->tdb);
ret = fchmod(fd, mode);
if (ret == -1) {