From 4d9ff07150d316db081d412e958e46bf4b432a05 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Wed, 10 Aug 2016 21:12:06 +0200 Subject: [PATCH] dbwrap: Use tdb_storev in dbwrap_ctdb Signed-off-by: Volker Lendecke Reviewed-by: Ralph Boehme --- source3/lib/dbwrap/dbwrap_ctdb.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/source3/lib/dbwrap/dbwrap_ctdb.c b/source3/lib/dbwrap/dbwrap_ctdb.c index 10f5f50adf7b..34aad4599e6b 100644 --- a/source3/lib/dbwrap/dbwrap_ctdb.c +++ b/source3/lib/dbwrap/dbwrap_ctdb.c @@ -128,22 +128,14 @@ static NTSTATUS db_ctdb_ltdb_store(struct db_ctdb_ctx *db, struct ctdb_ltdb_header *header, TDB_DATA data) { - TDB_DATA rec; + TDB_DATA recs[2]; int ret; - rec.dsize = data.dsize + sizeof(struct ctdb_ltdb_header); - rec.dptr = (uint8_t *)talloc_size(talloc_tos(), rec.dsize); - - if (rec.dptr == NULL) { - return NT_STATUS_NO_MEMORY; - } - - memcpy(rec.dptr, header, sizeof(struct ctdb_ltdb_header)); - memcpy(sizeof(struct ctdb_ltdb_header) + (uint8_t *)rec.dptr, data.dptr, data.dsize); - - ret = tdb_store(db->wtdb->tdb, key, rec, TDB_REPLACE); + recs[0] = (TDB_DATA) { .dptr = (uint8_t *)header, + .dsize = sizeof(struct ctdb_ltdb_header) }; + recs[1] = data; - talloc_free(rec.dptr); + ret = tdb_storev(db->wtdb->tdb, key, recs, 2, TDB_REPLACE); return (ret == 0) ? NT_STATUS_OK : tdb_error_to_ntstatus(db->wtdb->tdb); -- 2.34.1