Age | Commit message (Collapse) | Author | Files | Lines |
|
This is to provide a more atomic means of adding a subkey of a key.
Michael
|
|
This removes many loops over all the arrays
(from regsubkey_ctr_key_exists) and thus
reduces "net conf drop" from 1m55 to 48seconds
and "net conf import" from 1m55 to 58 seconds
for 2000 shares on my box.
Michael
|
|
All access is now through accessor functions in reg_objects.c
This allows for performance tuning under the hood in the next step.
Michael
|
|
Michael
|
|
Michael
|
|
Michael
|
|
instead of using talloc directly.
Michael
|
|
instead of using talloc on struct regsubkey_ctr.
Michael
|
|
Michael
|
|
Michael
|
|
Michael
|
|
Michael
|
|
Use the reg_objects accessor regsubkey_ctr_specific_key() instead.
Michael
|
|
Use the reg_objects accessor regsubkey_ctr_specific_key() instead.
Michael
|
|
Use the reg_objects api instead.
Michael
|
|
Use the reg_objects api instead.
Michael
|
|
This paves the way for hiding the typedef and the implementation from the
surface.
Michael
|
|
This reverts commit a13f065bad0f4d21a67e68b743f17f45bf0a4691.
This fix is reverted, because the speedup is going to move
further down into reg_objects.c. The unsorted list of subkey names
is going to be indexed: This O(n^2) search bites us in more places.
This re-establishes the abstraction of reg_objects.c.
Michael
|
|
This speeds up "net conf drop" with 2000 shares on my box from
4m40s to 1m50s, leaving virtually only cpu load.
Michael
|
|
Michael
|
|
Signed-off-by: Michael Adam <obnox@samba.org>
|
|
Signed-off-by: Michael Adam <obnox@samba.org>
|
|
On my box this gets net conf list for 1000 records down to .1 seconds
Signed-off-by: Michael Adam <obnox@samba.org>
|
|
Makes real problems easier to spot.
Jeremy.
|
|
Jeremy.
|
|
|
|
This is *ancient*... From 2002, and nobody noticed until someone added lots of
shares using net conf... :-)
|
|
|
|
|
|
This will make tools like "net registry" also fill the registry
with the basic hives and keys.
Michael
|
|
|
|
|
|
calculation of SEC_FLAG_MAXIMUM_ALLOWED much easier
for files.
Jeremy.
|
|
|
|
|
|
Jeremy.
|
|
(This used to be commit f91a3e0f7b7737c1d0667cd961ea950e2b93e592)
|
|
Michael
(This used to be commit 103ce6c9e94ce74e616fe922f2584fd46ae1f3f8)
|
|
Higher level callers should take care of level 0 messages.
Michael
(This used to be commit b5829e04eaf2408858b34f53b849aaf8b969a925)
|
|
Higher level callers take care of level 0 messages or more drastic measures.
Michael
(This used to be commit 111d802b5c0dfdf556f736b6c53df74e077a6238)
|
|
Don't cancel on NT_STATUS_NOT_FOUND error from dbwrap_delete_bystring().
So deletion of an "incomlete" registry key, i.e. one with an entry in
the list of subkeys of its parent key but not a subkey list of its own,
works again.
Michael
(This used to be commit 75be2116ac2589aaf69038a4115197f40e4b16a5)
|
|
Don't ignore all errors from dbwrap_delete_bystring() but
only NT_STATUS_NOT_FOUND.
Michael
(This used to be commit d7ec9b2d52d1eddd98eba222f723fb6cdff4541f)
|
|
According to the new policy a key (that is not a base key) exists,
iff it exists in the subkey list of its parent key.
Usually this subkeylist is present, but in a transaction-less
dbwrap backend (ctdb), a failing write can leave an "incomplete"
key without its own subkeylist-record. (Otherwise such an
incomplete key can be generated with e.g. tdbtool.)
For such a key net registry enumerate (e.g.) would fail.
This commit fixes this behaviour of regdb_fetch_keys().
Michael
(This used to be commit f329aaf0452cc9bbad9fb6f67dac00bf8d1ef128)
|
|
Michael
(This used to be commit a01d8fe5e89ca9620d23198b11e5ae605a97e5a6)
|
|
Michael
(This used to be commit 3e89217e7edea5d7ec707de065d38b1921ed09af)
|
|
Next step in the plan to make store_keys safer without transactions.
Michael
(This used to be commit f7c8718dead63964481954a86427b8c05d15452c)
|
|
Michael
(This used to be commit 97592db08a109ffbea8c85b17686fa565c5cf8c9)
|
|
adding number (3) ....
Michael
(This used to be commit a03a17365d64f7fe83a9f2e866c4f069a1dd1682)
|
|
values.
Michael
(This used to be commit 986030cdda828f7f87c5464d1837324b7033e27e)
|
|
transactions
/*
* Make the store operation as safe as possible without transactions:
*
* (1) For each subkey removed from ctr compared with old_subkeys:
*
* (a) First delete the value db entry.
*
* (b) Next delete the secdesc db record.
*
* (c) Then delete the subkey list entry.
*
* (2) Now write the list of subkeys of the parent key,
* deleting removed entries and adding new ones.
*
* (3) Finally create the subkey list entries for the added keys.
*
* This way if we crash half-way in between deleting the subkeys
* and storing the parent's list of subkeys, no old data can pop up
* out of the blue when re-adding keys later on.
*/
The workflow is going to be modified to meet this agendain the next commits.
Michael
(This used to be commit 55dd9bdd148fc942e15aacfe9f6b38b1a5c53158)
|