ret = ctdb_call_recv(state, &call);
if (ret != 0) {
talloc_free(rec);
- return -6;
+ return FETCH_LOCK_DMASTERFAILED;
}
- return 0;
+ return FETCH_LOCK_SUCCESS;
}
ret = ctdb_ltdb_lock(ctdb_db, key);
if (ret != 0) {
printf("failed to lock ltdb record\n");
- return -1;
+ return FETCH_LOCK_LOCKFAILED;
}
ret = ctdb_ltdb_fetch(ctdb_db, key, &header, ctdb_db, data);
if (ret != 0) {
ctdb_ltdb_unlock(ctdb_db, key);
- return -2;
+ return FETCH_LOCK_FETCHFAILED;
}
ret = ctdb_client_fetch_lock_recv(state, mem_ctx, key, data);
if (ret != 0) {
ctdb_ltdb_unlock(ctdb_db, key);
- return -3;
+ return FETCH_LOCK_DMASTERFAILED;
}
}
/*
do a fetch lock from a client to the local daemon
*/
+#define FETCH_LOCK_SUCCESS 0
+#define FETCH_LOCK_LOCKFAILED 1
+#define FETCH_LOCK_FETCHFAILED 2
+#define FETCH_LOCK_DMASTERFAILED 3
+
int ctdb_client_fetch_lock(struct ctdb_db_context *ctdb_db,
TALLOC_CTX *mem_ctx,
TDB_DATA key, TDB_DATA *data);