Age | Commit message (Collapse) | Author | Files | Lines |
|
allowing searches to proceed while another process is in a
transaction, then only upgrading the transaction lock to a write lock
on commit.
The solution is:
- split tdb_traverse() into two calls, called tdb_traverse() and
tdb_traverse_read(). The _read() version only gets read locks, and
will fail any write operations made in the callback from the
traverse.
- the normal tdb_traverse() call allows for read or write operations
in the callback, but gets the transaction lock, preventing
transastions from starting inside the traverse
In addition we enforce the following rule that you may not start a
transaction within a traverse callback, although you can start a
traverse within a transaction
With these rules in place I believe all the deadlock possibilities are
removed, and we can now allow for searches to happen in parallel with
transactions
(This used to be commit 7dd31288a701d772e45b1960ac4ce4cc1be782ed)
|
|
(This used to be commit 749b19d34f6105c696a07cc2cd39d5acecfc735b)
|
|
omment about transactions
(This used to be commit 33352507593875a147276841fdb70de8edd668f5)
|
|
tools get confused if it isn't there.
(This used to be commit b2f15b5c79970b7f0be752ccf5bb8a6b3c0e5d70)
|
|
lib/replace/replace.h header.
Running 'scons lib/tdb' now (mostly) builds tdb.
(This used to be commit 324bfd5d25212a0b0a3a7e30be62d1b72b10b98f)
|
|
code as they are marked as NOPROTO in the config.mk files.
(This used to be commit 5f530eacbae073e9df6adde316404f70ecfe9122)
|
|
(This used to be commit 4a137e4e6eca0c5718835a92d93f8a16f0504db9)
|
|
transactions ensure two account creations can't interfere with each
other
(This used to be commit 91c27bc97662c8d8b764c76bd2d98a1b04f47337)
|
|
but it definately needs transaction.c now
(This used to be commit fa353a5bc562fa1ace0daf6586c42d1d5698c6e4)
|
|
"ldb:nosync = yes/no"
(This used to be commit 435cbcf78b70a82c2ec89fab21e4ff8af538f2f1)
|
|
locking code in the ldb_tdb backend, except for a single read lock
during searches to ensure searches don't cross transaction boundaries
The tdb transactions code would map these extra locks to noops anyway
(as locking makes no sense inside a transaction), but the work in
setting up the locking keys still costs something, and it makes the
code needlessly complex
(This used to be commit 1b8d368a6771360fb0626127c02b3eb95f3eae59)
|
|
safe) as it is removed on smbd restart
(This used to be commit 0951db6a89d15792ee1ea6b9f37c45486958ad57)
|
|
transactions are synchronous or not on the command line.
add LDB_FLG_NOSYNC flag to ldb_connect() so we can make our temporary
ldb databases non-synchronous
(This used to be commit dba41164e0c52f1e4351bd9057b16661cee3a822)
|
|
samba-technical posting for more details on the transactions design.
This also adds a number of command line arguments to tdbtorture,
making it more flexible, and fixes some lock deadlock conditions in
the tdbtorture code.
(This used to be commit 06bd8abba942ec9f1e23f5c5d546cbb71ca3a701)
|
|
(This used to be commit aa30f8faa5924c29c81193646205b08922cdd43d)
|
|
the test in ldbtest
(This used to be commit 740b9f7537d60c7dbd48fe592587b12b304c52d1)
|
|
I still have issues with Win2k3 SP1, and Samba4 doesn't pass it's own
test for the moment, but I'm working on these issues :-)
This required a change to the credentials API, so that the special
case for NTLM logins using a principal was indeed handled as a
special, not general case.
Also don't set the realm from a ccache, as then it overrides --option=realm=.
Andrew Bartlett
(This used to be commit 194e8f07c0cb4685797c5a7a074577c62dfdebe3)
|
|
Andrew Bartlett
(This used to be commit 77aca9619d24a8e118f53bcd1a1e54b8437812a8)
|
|
resolve_name_send a stack-allocated method list. Duplicate it.
Volker
(This used to be commit 17dbbf965bcf038be7450781e28acb5e061eb295)
|
|
Remove unused file
(This used to be commit a9e71ab5d1ed8b34f158ff0e89dd67ec785b9829)
|
|
Volker
(This used to be commit 3dc7e67dc5e5844523e9768081123c622e61c7e9)
|
|
(This used to be commit 775323815961c25986e2557de5d59626822b3944)
|
|
(This used to be commit 786329576bf14ae774f9d5a24268e46b7dcb634a)
|
|
avoid DNS delays in our testsuite. The next step will be to use
kerberos in the tests (awaits application of socketwrapper or hooks
into our socket layer).
Andrew Bartlett
(This used to be commit b9e9cca14e345a338fd7ffe06f6862bb3cb74e78)
|
|
Andrew Bartlett
(This used to be commit 4d2a9a9bc497eae269c24cbf156b43b8588e2f73)
|
|
(This used to be commit 40a8ad2d1eb26d1635b8f188036b04319ffd41b4)
|
|
(This used to be commit 21e5c328a033a4b452b3fd696069ad8bbfa6b9cc)
|
|
use raw krb5, not GSSAPI. I still keep the 'fake GSSAPI' code, but
under the module name 'fake_gssapi_krb5'.
Andrew Bartlett
(This used to be commit 99efec2758ad6c996db65dd42cb72a81077c9b2b)
|
|
canonicalisation code, I've hacked Heimdal to use the default realm if
no other realm can be determined for a given host.
Andrew Bartlett
(This used to be commit 0f0b0021b7728ce75ca0060003a3d08264ead810)
|
|
(This used to be commit 3f646c620a354ab6820c4a97d629e1e27978b76d)
|
|
(This used to be commit fcc1ba97a3dd955208d8d9555ff8dab455239412)
|
|
is busted though.
(This used to be commit 54882f88cad1427b6adcb4c956a63e534e7d13e4)
|
|
(This used to be commit 252b64eb20db9152d357188d45fb39bb3d0b61bc)
|
|
at every single build. Run 'scons configure=1' or delete sconf.cache
to force checks to be re-run.
Jelmer, I think this stuff is cached in the .sconf_cache directory but
the message is still displayed and it looks like it caches the compiled
test object file not the actual result of the test.
(This used to be commit 9d001dc083937bbf5642af90bc8a8b1a27825de0)
|
|
(This used to be commit 588a3183b3f5922349b85520d554dcce23cd699f)
|
|
some other minor updates
(This used to be commit f142c15de1afb2f13a5e23ceb40ce70f0115c8bf)
|
|
Andrew Bartlett
(This used to be commit ddc3a1c79e80e12296c398c42110fc378fb80e00)
|
|
upper-case realm.
Andrew Bartlett
(This used to be commit 3e38456dd5c40730f3203e89393dad2b97996d56)
|
|
Jelmer, can you see a better approach to this? As far as I am aware
protocol towers don't use hostnames, they always use IP addresses
(This used to be commit 7a3ec95d9911e8c0a278f5a94513e4fd61979eab)
|
|
a make-ism.
Use consistent (single) quoting.
(This used to be commit 368475ffcb88e4cd1f632847f6fe661eb35b9403)
|
|
field, instead put a zero address. Note that zero is correct (ie. we
shouldn't do the lookup) as in the client we want to send a zero for
the server to fill in. When we make this call from the server we fill
in a real IP.
(This used to be commit e54c8b5658761c33d50a1a557d2ec77229b07b47)
|
|
works now
(This used to be commit 22f18a84242e5e68a2d57b6d7ff77c089ee7434a)
|
|
current 3_0
interface.
Volker
(This used to be commit 90f98e9be310edcdf6ac8b5f7ce792b52cec1d79)
|
|
-Udomain\\user.
This will probably break in a few configurations, so please let me
know. I'll also work to have a way to inhibit kerberos/ntlmssp, as
this removes -k.
Andrew Bartlett
(This used to be commit 3c0dc570b86e79aea5446d7c3bb9750a11bf8ca4)
|
|
samba4. Ok, maybe the silence is due to timezones, but what can you do... ;-)
Volker
(This used to be commit 9a5d8f55ab2841572b94fbc3a86a47f65a7d74a6)
|
|
(This used to be commit a2268f1dd441059955bee30cf2a9028656c14099)
|
|
(This used to be commit b871ecbc2cf5ef2222e498f7819a06aa9082e155)
|
|
but final linking still fails (as does generating files asn1, et, idl and proto
files)
(This used to be commit 4f0d7f75b99c7f4388d8acb0838577d86baf68b5)
|
|
when the input is invalid
metze
(This used to be commit 1083204c1f89d9b918015113b6cc2ea423372fe0)
|
|
Andrew Bartlett
(This used to be commit e05e87b3fe1dae058e2a3588578d09ea1cfd2142)
|