From 874881d3b0250620f9e2e94a99b1a44cb86b2681 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Wed, 11 May 2011 15:58:48 +0200 Subject: [PATCH] s3:registry: recreate the sorted subkeys cache when storing keys This is to avoid turning the next read operation into a write op. (cherry picked from commit fc26b96a392f824cf18ab8524a5eaddfd2c03c5c) --- source3/registry/reg_backend_db.c | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/source3/registry/reg_backend_db.c b/source3/registry/reg_backend_db.c index 013a1e3f87e..b9d4ff64625 100644 --- a/source3/registry/reg_backend_db.c +++ b/source3/registry/reg_backend_db.c @@ -833,22 +833,9 @@ static WERROR regdb_store_keys_internal2(struct db_context *db, W_ERROR_NOT_OK_GOTO_DONE(werr); /* - * Delete a sorted subkey cache for regdb_key_exists, will be - * recreated automatically + * recreate the sorted subkey cache for regdb_key_exists() */ - keyname = talloc_asprintf(ctx, "%s\\%s", REG_SORTED_SUBKEYS_PREFIX, - keyname); - if (keyname == NULL) { - werr = WERR_NOMEM; - goto done; - } - - werr = ntstatus_to_werror(dbwrap_delete_bystring(db, keyname)); - - /* don't treat WERR_NOT_FOUND as an error here */ - if (W_ERROR_EQUAL(werr, WERR_NOT_FOUND)) { - werr = WERR_OK; - } + werr = ntstatus_to_werror(create_sorted_subkeys(keyname)); done: TALLOC_FREE(ctx); -- 2.11.4.GIT