Author: tridge
Date: 2007-08-24 02:38:09 +0000 (Fri, 24 Aug 2007)
New Revision: 24643

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=24643

Log:

add a ctdb_fetch() function to the ctdb client code

Modified:
   branches/SAMBA_4_0/source/cluster/ctdb/client/ctdb_client.c


Changeset:
Modified: branches/SAMBA_4_0/source/cluster/ctdb/client/ctdb_client.c
===================================================================
--- branches/SAMBA_4_0/source/cluster/ctdb/client/ctdb_client.c 2007-08-24 
02:37:38 UTC (rev 24642)
+++ branches/SAMBA_4_0/source/cluster/ctdb/client/ctdb_client.c 2007-08-24 
02:38:09 UTC (rev 24643)
@@ -637,6 +637,30 @@
        return ctdb_ltdb_store(h->ctdb_db, h->key, &h->header, data);
 }
 
+/*
+  non-locking fetch of a record
+ */
+int ctdb_fetch(struct ctdb_db_context *ctdb_db, TALLOC_CTX *mem_ctx, 
+              TDB_DATA key, TDB_DATA *data)
+{
+       struct ctdb_call call;
+       int ret;
+
+       call.call_id = CTDB_FETCH_FUNC;
+       call.call_data.dptr = NULL;
+       call.call_data.dsize = 0;
+
+       ret = ctdb_call(ctdb_db, &call);
+
+       if (ret == 0) {
+               *data = call.reply_data;
+               talloc_steal(mem_ctx, data->dptr);
+       }
+
+       return ret;
+}
+
+
 struct ctdb_client_control_state {
        struct ctdb_context *ctdb;
        uint32_t reqid;

Reply via email to