diff options
author | Gregor Beck <gbeck@sernet.de> | 2011-08-01 15:27:46 +0200 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2011-08-08 15:27:07 +0200 |
commit | 356ed8644c0099a70ece5b7d5104662454d03ef8 (patch) | |
tree | f74f3763b3167d197adc5a74ab511672218a470c /source3/registry/reg_dispatcher.c | |
parent | db06b61a1d3d38140578c004eb9d6cb3243d2870 (diff) | |
download | samba-356ed8644c0099a70ece5b7d5104662454d03ef8.tar.gz |
s3:registry avoid updating keys which are going to be deleted in
reg_deletekey_recursive
this changes the complexity from O(n^2) to O(n) and reduces the time of
a 'net conf drop' with 10000 shares from 6min to 1.5s
Signed-off-by: Michael Adam <obnox@samba.org>
Diffstat (limited to 'source3/registry/reg_dispatcher.c')
-rw-r--r-- | source3/registry/reg_dispatcher.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source3/registry/reg_dispatcher.c b/source3/registry/reg_dispatcher.c index a96047817d9..5b52e98e08c 100644 --- a/source3/registry/reg_dispatcher.c +++ b/source3/registry/reg_dispatcher.c @@ -113,10 +113,10 @@ WERROR create_reg_subkey(struct registry_key_handle *key, const char *subkey) return WERR_NOT_SUPPORTED; } -WERROR delete_reg_subkey(struct registry_key_handle *key, const char *subkey) +WERROR delete_reg_subkey(struct registry_key_handle *key, const char *subkey, bool lazy) { if (key->ops && key->ops->delete_subkey) { - return key->ops->delete_subkey(key->name, subkey); + return key->ops->delete_subkey(key->name, subkey, lazy); } return WERR_NOT_SUPPORTED; |