void ctdb_request_message(struct ctdb_context *ctdb,
struct ctdb_req_header *hdr)
{
- struct ctdb_req_message *c = (struct ctdb_req_message *)hdr;
+ struct ctdb_req_message_old *c = (struct ctdb_req_message_old *)hdr;
TDB_DATA data;
data.dsize = c->datalen;
int ctdb_client_send_message(struct ctdb_context *ctdb, uint32_t pnn,
uint64_t srvid, TDB_DATA data)
{
- struct ctdb_req_message *r;
+ struct ctdb_req_message_old *r;
int len, res;
- len = offsetof(struct ctdb_req_message, data) + data.dsize;
+ len = offsetof(struct ctdb_req_message_old, data) + data.dsize;
r = ctdbd_allocate_pkt(ctdb, ctdb, CTDB_REQ_MESSAGE,
- len, struct ctdb_req_message);
+ len, struct ctdb_req_message_old);
CTDB_NO_MEMORY(ctdb, r);
r->hdr.destnode = pnn;
break;
}
case CTDB_REQ_MESSAGE: {
- struct ctdb_req_message *m = (struct ctdb_req_message *)hdr;
+ struct ctdb_req_message_old *m = (struct ctdb_req_message_old *)hdr;
talloc_set_name(pkt, "ctdb_queue_pkt: %s message srvid=%llu datalen=%u",
queue->name, (unsigned long long)m->srvid, (unsigned)m->datalen);
break;
uint8_t data[1];
};
-struct ctdb_req_message {
+struct ctdb_req_message_old {
struct ctdb_req_header hdr;
uint64_t srvid;
uint32_t datalen;
void *private_data)
{
struct ctdb_client *client = talloc_get_type(private_data, struct ctdb_client);
- struct ctdb_req_message *r;
+ struct ctdb_req_message_old *r;
int len;
/* construct a message to send to the client containing the data */
- len = offsetof(struct ctdb_req_message, data) + data.dsize;
+ len = offsetof(struct ctdb_req_message_old, data) + data.dsize;
r = ctdbd_allocate_pkt(client->ctdb, client->ctdb, CTDB_REQ_MESSAGE,
- len, struct ctdb_req_message);
+ len, struct ctdb_req_message_old);
CTDB_NO_MEMORY_VOID(client->ctdb, r);
talloc_set_name_const(r, "req_message packet");
from a local client over the unix domain socket
*/
static void daemon_request_message_from_client(struct ctdb_client *client,
- struct ctdb_req_message *c)
+ struct ctdb_req_message_old *c)
{
TDB_DATA data;
int res;
case CTDB_REQ_MESSAGE:
CTDB_INCREMENT_STAT(ctdb, client.req_message);
- daemon_request_message_from_client(client, (struct ctdb_req_message *)hdr);
+ daemon_request_message_from_client(client, (struct ctdb_req_message_old *)hdr);
break;
case CTDB_REQ_CONTROL:
int ctdb_daemon_send_message(struct ctdb_context *ctdb, uint32_t pnn,
uint64_t srvid, TDB_DATA data)
{
- struct ctdb_req_message *r;
+ struct ctdb_req_message_old *r;
int len;
if (ctdb->methods == NULL) {
return ctdb_local_message(ctdb, srvid, data);
}
- len = offsetof(struct ctdb_req_message, data) + data.dsize;
+ len = offsetof(struct ctdb_req_message_old, data) + data.dsize;
r = ctdb_transport_allocate(ctdb, ctdb, CTDB_REQ_MESSAGE, len,
- struct ctdb_req_message);
+ struct ctdb_req_message_old);
CTDB_NO_MEMORY(ctdb, r);
r->hdr.destnode = pnn;
int ctdb_watch_us(struct ctdbd_connection *conn);
int ctdb_unwatch(struct ctdbd_connection *conn);
-struct ctdb_req_message;
+struct ctdb_req_message_old;
int register_with_ctdbd(struct ctdbd_connection *conn, uint64_t srvid,
int (*cb)(uint32_t src_vnn, uint32_t dst_vnn,
}
static int ctdbd_msg_call_back(struct ctdbd_connection *conn,
- struct ctdb_req_message *msg)
+ struct ctdb_req_message_old *msg)
{
size_t msg_len;
size_t i, num_callbacks;
msg_len = msg->hdr.length;
- if (msg_len < offsetof(struct ctdb_req_message, data)) {
+ if (msg_len < offsetof(struct ctdb_req_message_old, data)) {
DEBUG(10, ("%s: len %u too small\n", __func__,
(unsigned)msg_len));
return 0;
}
- msg_len -= offsetof(struct ctdb_req_message, data);
+ msg_len -= offsetof(struct ctdb_req_message_old, data);
if (msg_len < msg->datalen) {
DEBUG(10, ("%s: msg_len=%u < msg->datalen=%u\n", __func__,
ctdb_packet_dump(hdr);
if (hdr->operation == CTDB_REQ_MESSAGE) {
- struct ctdb_req_message *msg = (struct ctdb_req_message *)hdr;
+ struct ctdb_req_message_old *msg = (struct ctdb_req_message_old *)hdr;
if (conn->msg_ctx == NULL) {
DEBUG(1, ("Got a message without having a msg ctx, "
static int ctdb_handle_message(struct ctdbd_connection *conn,
struct ctdb_req_header *hdr)
{
- struct ctdb_req_message *msg;
+ struct ctdb_req_message_old *msg;
if (hdr->operation != CTDB_REQ_MESSAGE) {
DEBUG(0, ("Received async msg of type %u, discarding\n",
return EINVAL;
}
- msg = (struct ctdb_req_message *)hdr;
+ msg = (struct ctdb_req_message_old *)hdr;
ctdbd_msg_call_back(conn, msg);
uint32_t dst_vnn, uint64_t dst_srvid,
const struct iovec *iov, int iovlen)
{
- struct ctdb_req_message r;
+ struct ctdb_req_message_old r;
struct iovec iov2[iovlen+1];
size_t buflen = iov_buflen(iov, iovlen);
ssize_t nwritten;
- r.hdr.length = offsetof(struct ctdb_req_message, data) + buflen;
+ r.hdr.length = offsetof(struct ctdb_req_message_old, data) + buflen;
r.hdr.ctdb_magic = CTDB_MAGIC;
r.hdr.ctdb_version = CTDB_PROTOCOL;
r.hdr.generation = 1;
ctdb_packet_dump(&r.hdr);
iov2[0].iov_base = &r;
- iov2[0].iov_len = offsetof(struct ctdb_req_message, data);
+ iov2[0].iov_len = offsetof(struct ctdb_req_message_old, data);
memcpy(&iov2[1], iov, iovlen * sizeof(struct iovec));
nwritten = write_data_iov(conn->fd, iov2, iovlen+1);
while (True) {
struct ctdb_req_header *hdr = NULL;
- struct ctdb_req_message *m;
+ struct ctdb_req_message_old *m;
struct ctdb_rec_data *d;
ret = ctdb_read_packet(conn->fd, conn->timeout, conn, &hdr);
return EIO;
}
- m = (struct ctdb_req_message *)hdr;
+ m = (struct ctdb_req_message_old *)hdr;
d = (struct ctdb_rec_data *)&m->data[0];
if (m->datalen < sizeof(uint32_t) || m->datalen != d->length) {
DEBUG(0, ("Got invalid traverse data of length %d\n",