[SCM] Samba Shared Repository - branch master updated
Amitay Isaacs
amitay at samba.org
Mon Jul 21 22:10:03 MDT 2014
The branch, master has been updated
via 478ef94 ctdb: Fix verbose_memory_names
via 70c79f5 ctdb: Avoid a talloc in ctdb_queue_send
from 5907b0c sys_poll_intr: fix timeout arithmetic
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 478ef9493f131c4d94bada708f790db3254f0a59
Author: Volker Lendecke <vl at samba.org>
Date: Mon Jul 21 09:48:45 2014 +0000
ctdb: Fix verbose_memory_names
If we have already partly written a packet, "data" and thus "pkt->data"
does not point to the start of the packet anymore. Assign "hdr" while
it still points at the start of the header.
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
Autobuild-User(master): Amitay Isaacs <amitay at samba.org>
Autobuild-Date(master): Tue Jul 22 06:09:50 CEST 2014 on sn-devel-104
commit 70c79f514024551128acc2d3ba879ef1407ed130
Author: Volker Lendecke <vl at samba.org>
Date: Mon Jul 21 09:42:54 2014 +0000
ctdb: Avoid a talloc in ctdb_queue_send
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
-----------------------------------------------------------------------
Summary of changes:
ctdb/common/ctdb_io.c | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
Changeset truncated at 500 lines:
diff --git a/ctdb/common/ctdb_io.c b/ctdb/common/ctdb_io.c
index 351006d..b5f8a72 100644
--- a/ctdb/common/ctdb_io.c
+++ b/ctdb/common/ctdb_io.c
@@ -44,6 +44,7 @@ struct ctdb_queue_pkt {
uint8_t *data;
uint32_t length;
uint32_t full_length;
+ uint8_t buf[];
};
struct ctdb_queue {
@@ -285,6 +286,7 @@ static void queue_io_handler(struct event_context *ev, struct fd_event *fde,
*/
int ctdb_queue_send(struct ctdb_queue *queue, uint8_t *data, uint32_t length)
{
+ struct ctdb_req_header *hdr = (struct ctdb_req_header *)data;
struct ctdb_queue_pkt *pkt;
uint32_t length2, full_length;
@@ -324,11 +326,13 @@ int ctdb_queue_send(struct ctdb_queue *queue, uint8_t *data, uint32_t length)
if (length2 == 0) return 0;
}
- pkt = talloc(queue, struct ctdb_queue_pkt);
+ pkt = talloc_size(
+ queue, offsetof(struct ctdb_queue_pkt, buf) + length2);
CTDB_NO_MEMORY(queue->ctdb, pkt);
+ talloc_set_name_const(pkt, "struct ctdb_queue_pkt");
- pkt->data = talloc_memdup(pkt, data, length2);
- CTDB_NO_MEMORY(queue->ctdb, pkt->data);
+ pkt->data = pkt->buf;
+ memcpy(pkt->data, data, length2);
pkt->length = length2;
pkt->full_length = full_length;
@@ -342,7 +346,6 @@ int ctdb_queue_send(struct ctdb_queue *queue, uint8_t *data, uint32_t length)
queue->out_queue_length++;
if (queue->ctdb->tunable.verbose_memory_names != 0) {
- struct ctdb_req_header *hdr = (struct ctdb_req_header *)pkt->data;
switch (hdr->operation) {
case CTDB_REQ_CONTROL: {
struct ctdb_req_control *c = (struct ctdb_req_control *)hdr;
--
Samba Shared Repository
More information about the samba-cvs
mailing list