summaryrefslogtreecommitdiffstats
path: root/ctdb/server/ctdb_control.c
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2010-12-21 14:25:48 +0100
committerMichael Adam <obnox@samba.org>2011-03-14 13:35:49 +0100
commit8569fcbc83fae6f1cefc7948f9e889f654364345 (patch)
tree87eaa14a8070e0e19ae27d3a5ab6ae828dc1ef54 /ctdb/server/ctdb_control.c
parent46a05397a4085d99ebbafd751aaa56a0013e4de6 (diff)
downloadsamba-8569fcbc83fae6f1cefc7948f9e889f654364345.tar.gz
samba-8569fcbc83fae6f1cefc7948f9e889f654364345.tar.xz
samba-8569fcbc83fae6f1cefc7948f9e889f654364345.zip
server: implement a new control SCHEDULE_FOR_DELETION to fill the delete_queue.
(This used to be ctdb commit 680223074e992b32ccf6f42cb80c3fa93074fee7)
Diffstat (limited to 'ctdb/server/ctdb_control.c')
-rw-r--r--ctdb/server/ctdb_control.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/ctdb/server/ctdb_control.c b/ctdb/server/ctdb_control.c
index 69724e3965..748907f2a9 100644
--- a/ctdb/server/ctdb_control.c
+++ b/ctdb/server/ctdb_control.c
@@ -604,6 +604,15 @@ static int32_t ctdb_control_dispatch(struct ctdb_context *ctdb,
CHECK_CONTROL_DATA_SIZE(0);
return ctdb_control_get_stat_history(ctdb, c, outdata);
+ case CTDB_CONTROL_SCHEDULE_FOR_DELETION: {
+ struct ctdb_control_schedule_for_deletion *d;
+ size_t size = offsetof(struct ctdb_control_schedule_for_deletion, key);
+ CHECK_CONTROL_MIN_DATA_SIZE(size);
+ d = (struct ctdb_control_schedule_for_deletion *)indata.dptr;
+ size += d->keylen;
+ CHECK_CONTROL_DATA_SIZE(size);
+ return ctdb_control_schedule_for_deletion(ctdb, indata);
+ }
default:
DEBUG(DEBUG_CRIT,(__location__ " Unknown CTDB control opcode %u\n", opcode));
return -1;