| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
2da551bbcc6cab296769c193b0b82aaa6256cece)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 3a671b11770057c91e0ae646499d4714f52bc5c0)
|
|
|
|
|
|
|
|
| |
from samba commit 2a61fd41e9d4d2e3d7b47a816544c88bb369bc03)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 2231ee0aa163d68383dd9636f25f033fe7c1f3e7)
|
|
|
|
|
|
|
|
| |
tdb Python bindings. (This used to be commit 47d797f7885b1e7bcff724496ecb1990e8440eea) (cherry picked from samba commit 6bdd1425b75c8931965f0e5627f5a63dc6820a7c)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 363c34d4bb488609317794cd3153d85c12643110)
|
|
|
|
|
|
|
|
| |
0bae1ef3de8fda5e1e2d641b14a408e627396912) (This used to be commit db2acaf46fdc38078b6b28b68909e289f6c9e0ec) (cherry picked from samba commit a1cf3ad5d655cf5a847df6d6299b3af1a30ec1e3)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 236dc2fa29b3c0caec51859dbd469f0a13f5917e)
|
|
|
|
|
|
|
|
| |
to do so may result in lost data. Fix an ifdef check, I really think we meant to check HAVE_MMAP here. (cherry picked from samba commit 74c8575b3f3b90ea21ae6aa7ccd95947838af956) (This used to be commit 8fd54bb55f0c23bd025d1719abcbe75c6a2ea8ac) (cherry picked from samba commit b39e332bd7803dd4ce8267f750c497b5deb837ee)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 5aa0ab328c36ecd4d7ec03f921e6027340c2ef13)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the ctdb checkin dde9f3f006 tdb optimized out write lock checks for
write-enabled transaction. Sadly, this also removed the possibility to ever
remove dead records left over from tdb_delete calls within a transaction.
Tridge, please check this! Did dde9f3f006 have any reason beyond performance
optimizations?
Thanks,
Volker
(cherry picked from samba commit 3f884c4ae36f3260e63626bdd4989d9258ae6497)
(This used to be commit 1d85e0647e287d269b3f6b534da88f497d6f76c3)
(cherry picked from samba commit 8c88209c6f4b57b0dbe1459bd5bc583c5d321758)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit b02bf7659f04f1fa203834bd75a2392b48e56c16)
|
|
|
|
|
|
|
|
|
|
| |
Found by cppcheck:
[lib/tdb/tools/tdbtorture.c:326]: (error) Memory leak: pids
(cherry picked from samba commit 497b9e460b5defd60de89b9c5bed890f83ca86a1)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 5d4cc4b018a538dc3f1d79fe091f3e6e67003daf)
|
|
|
|
|
|
|
|
| |
(cherry picked from samba commit 84547b8dba3c0cf4e20b3c50d9386081d475df6b)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 923b61fe722c0aec8a5b6ac8dd1df74957dc102b)
|
|
|
|
|
|
|
|
|
|
|
| |
tdbbackup was originally written before we had transactions, and it
attempted to use its own fsync() calls to make it safe. Now that we
have transactions we can do it in a much safer (and faster!) fashion
(cherry picked from samba commit 2e4247782bd5812bc8e7ea24194c8436748bb2fa)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit cd23d36ada9631095ca68663516de0c8d8c3bbed)
|
|
|
|
|
|
|
|
| |
08be1420ba52ef9bba90d0f811c7810841ee8568)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 3d44412593b8748a5158e15b83cd9eb548231194)
|
|
|
|
|
|
|
|
|
|
|
|
| |
This means you can kill it at any time and expect no corruption.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(cherry picked from samba commit 0fc6800005ffb532a5e5699c97f13f1de138d51f)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit f7278a277ed91587cae5b5e3660dad7124bdb73f)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It was a regrettable hack which I used to reduce line count in tdb; in fact it caused confusion as can be seen in this patch.
In particular, ecode now needs to be set before TDB_LOG anyway, and having it exposed in
the header is useless (the struct tdb_context isn't defined, so it's doubly useless).
Also, we should never set errno, as io.c was doing.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(cherry picked from samba commit b77f41d58b05101e02d8ac0e54cb0e30807d89c2)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit a6620f6e74aadc708395b21b42303d1082192fcc)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When TDB_TRACE is defined (in tdb_private.h), verbose tracing of tdb operations is enabled.
This can be replayed using "replay_trace" from http://ccan.ozlabs.org/info/tdb.
The majority of this patch comes from moving internal functions to _<funcname> to
avoid double-tracing. There should be no additional overhead for the normal (!TDB_TRACE)
case.
Note that the verbose traces compress really well with rzip.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(cherry picked from samba commit 703004340c3e0f43f741bd368d2525cfd187d590)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit b01b756cb577f32a1ec4597efb00017241e01685)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was a race condition that caused the torture.tdb to be left in a
state that needed recovery. The torture code thought that any message
from the tdb code was an error, so the "recovered" message, which is a
TDB_DEBUG_TRACE message, marked the run as being an error when it
isn't.
(cherry picked from samba commit 5dcf0069b68149575fe6166019dd90b73885926b)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 43c97b259b19c42b4edc7f83dbfc5e486568b4e3)
|
|
|
|
|
|
|
|
|
| |
Michael
(cherry picked from samba commit e440a2e11e78a562f97971c0dfe0cf3f694996ff)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit c1b8d32b4ef87b9d8f37b451f47fcee2ea753d21)
|
|
|
|
|
|
|
|
| |
commit 07e0094365e8dc360a83eec2e7cf9b1d5d8d6d00)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit e4d49c182e12c2d429d0414209cc2c8ccc19dc91)
|
|
|
|
|
|
|
|
| |
commit e48a5cd5d4fc2626b09af16a0ac68c638d081437)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 94f5728a77b8c772fb16c4744c24b45de8016e52)
|
|
|
|
|
|
|
|
| |
samba commit c299833bf8e6506c793d6e8283743949aaac9ef4)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 5830a2427b84e1cce74390b58fe12c45b5a056a6)
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds 3 simple speed tests to tdbtool, for transaction store,
store and fetch.
On my laptop this shows transactions costing about 10ms
(cherry picked from samba commit e15027155d3d880abde83124e252b3dd10a9aae4)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 463279c972fa4538919bdd1dff48ca6b2fb8d49c)
|
|
|
|
|
|
|
|
|
|
|
| |
So one can perform tdbtool operations protected by transactions.
Michael
(cherry picked from samba commit 91e1bab2e9a3f33151061554f2dcf05bcb728312)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 35a5b874b925380f7c227e47aebb590c9db4739e)
|
|
|
|
|
|
|
|
|
| |
Michael
(cherry picked from samba commit 817383d88d820e7be5b5dd3d2da350d4a03a94de)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit dc287a7d7420cca0b104049e689a73202bc535f8)
|
|
|
|
|
|
|
|
| |
traverse on the currently open tdb, and returns the number of entries if the integrity check is successful. (cherry picked from samba commit 42366bcbbdd42bb9d5821dfcc9dbe71a1eafa330)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 02b35ba77672727c96ad004be37c7f6f1d3fe474)
|
|
|
|
|
|
|
|
|
|
|
| |
We previously only allowed a commit to happen after a prepare
commit. It is in fact safe to allow reads between a prepare and a
commit, and the s4 replication code can make use of that, so allow it.
(cherry picked from samba commit 46c99ec2a3781d53138245182345c6c2ddd9a258)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 5ef5ddb8369e5e76173285fe9a08498dc8dc73ab)
|
|
|
|
|
|
|
|
|
| |
Michael
(cherry picked from samba commit 55dcf928eb6ce603c5e95a9a80856a4deb33d0c6)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit ef1dc585d869a9e48164cd65bafc92c1da245007)
|
|
|
|
|
|
|
|
|
| |
Michael
(cherry picked from samba commit cfa4e7ec7540d1100649839a10968303189fe929)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 0ae735b7a2096a40e5e47086ec41d9d45ef6d36b)
|
|
|
|
|
|
|
|
|
|
|
| |
parentheses
Michael
(cherry picked from samba commit 25939a627f15b7a21110767d47be0f50f32d3943)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 2e69647404c87c438ae7c180277ac3b532941efd)
|
|
|
|
|
|
|
|
|
|
|
| |
by first concatenating multilint parentheses and removing typefes afterwards.
Michael
(cherry picked from samba commit 13bfcd5a93c47c9db8b644560a1bcc398facb136)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 37225f1ed3f70d7259c2af2c51c671105c34476a)
|
|
|
|
|
|
|
|
|
| |
Michael
(cherry picked from samba commit ecd12bfb382da072595391d5bf11a893d39a0479)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 66fffa577e051212ac7541be906b6c80f4a7c0c9)
|
|
|
|
|
|
|
|
|
| |
Michael
(cherry picked from samba commit 400f08450b26f38a7dafd1d458542b4d9a8cb19e)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 310d673b7cb9000d76437d78e43bc2bf133e4e14)
|
|
|
|
|
|
|
|
|
| |
Michael
(cherry picked from samba commit 907e05595fdcc4ef77ad627bc0f3732faa59de68)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit f70e371d70e334a7254649b2bb09aa382e6f09bb)
|
|
|
|
|
|
|
|
|
| |
Guenther
(cherry picked from samba commit 1c2f4919abe99d07540b7380ad16d475d62aa50b)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 9d5015e6fc68d3eb9e7b7178dbaf8c129dc79471)
|
|
|
|
|
|
|
|
| |
0d120be36bfc561e3f679d081993ccc6bea2a401)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit efa4a795db7fb2bddaab3969850d1554fc5f4da1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
USAGE: abi_checks.sh LIBRARY_NAME header1 [header2 ...]
This creates symbol signature lists using the mksyms and mksigs scripts
and compares them with the checked in lists.
Michael
(cherry picked from samba commit 9636e0d373e75cce7063b710227eaaf53f447c1b)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 724d71dc838750fff91a45359feeb6e71bf0a4c7)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This produces output like the output gcc produces when
invoked with the -aux-info switch.
Run like this: cat include/tdb.h | ./script/mksigs.pl
This simple parser is probably too coarse to handle all
possible header files, but it treats tdb.h correctly...
Michael
(cherry picked from samba commit 0760a04ef9f7d2f3d966017295712769d02b8b9f)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 141422d9dc24b15b7b8bc7831adab90367a729f7)
|
|
|
|
|
|
|
|
|
| |
Michael
(cherry picked from samba commit 006fd0c43c7c403b8671dfc46e5ee31e92480e1f)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit aed864dceaf6ec1e6e6066a587c708b485901200)
|
|
|
|
|
|
|
|
|
|
|
| |
In future, this may happen, and we don't want to clobber them.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(cherry picked from samba commit 398d0c2929026fccb3409316720a4dcad225ab05)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit eebd467961dad6cfb38c2a5d6e4b4dbf86e55e63)
|
|
|
|
|
|
|
|
| |
from samba commit 4fc9f9c3f943cdeb27e37f0ee068cdd0da7cb00c)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 6f8614de0f20d4c507aecd744d9c3f6545078127)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
over the 2G offset on systems which support 64 bit file offsets. This fixes that case.
On systems with 32 bit offsets, expansion and fcntl locking on these records
will fail anyway. SAMBA already does '#define _FILE_OFFSET_BITS 64' in
config.h (on my 32-bit x86 Linux system at least) to get 64 bit file offsets.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(cherry picked from samba commit 252f7da702fd0409f7bfff05ef594911ededa32f)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 2d768f664e6db65b3b7e0c732f33ee2b806892f9)
|
|
|
|
|
|
| |
This reverts commit 4f7b39a4871af28df1c4545ec37db179fa47a7da.
(This used to be ctdb commit db7b96304e4725f29b12398b7582e385daed63ed)
|
|
|
|
| |
(This used to be ctdb commit 4f7b39a4871af28df1c4545ec37db179fa47a7da)
|
|
|
|
|
|
|
|
|
| |
This fixes https://bugzilla.samba.org/show_bug.cgi?id=6370
and http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=536256
Signed-off-by: Michael Adam <obnox@samba.org>
(This used to be ctdb commit 4899a888d4e2c31b4bd7220f3cd8936168942e61)
|
|
|
|
|
|
|
|
|
| |
The flags are user-visible, via tdb_get_flags/add_flags/remove_flags.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 8f48e37c254e0852d4e2dea54b905ce5ef2b925d)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
thread/fork safe tdb_reopen_all() should be a noop".
This version just wraps the reopen code, so we still re-grab the lock and do
the normal sanity checks.
The reason we do this at all is to avoid global fd limits, see:
http://forums.fedoraforum.org/showthread.php?t=210393
Note also that this whole reopen concept is fundamentally racy: if the parent
goes away before the child calls tdb_reopen_all, the database can be left
without an active lock and another TDB_CLEAR_IF_FIRST opener will clear it.
A fork_with_tdbs() wrapper could use a pipe to solve this, but it's hardly
elegant (what if there are other independent things which have similar needs?).
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 8d0d432ab7766d9c0f9868fd77e48b9b5cc5d9f9)
|
|
|
|
|
|
| |
code does a free of the old record in this case, then fail.
(This used to be ctdb commit 8b6a5bba93843cd83b7b386b82949ad88f29884a)
|
|
|
|
|
|
| |
might take us out-of-bounds. Only pretend to be length 1 for the malloc.
(This used to be ctdb commit 6de2823f5f7976d4efa20761e518d6b67753f054)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rusty Russell <rusty@rustcorp.com.au> Date: Sat Jul 18 15:28:58 2009 +0930
Make tdb transaction lock recursive (samba version)
This patch replaces 6ed27edbcd3ba1893636a8072c8d7a621437daf7 and
1a416ff13ca7786f2e8d24c66addf00883e9cb12, which fixed the bug where traversals
inside transactions would release the transaction lock early.
This solution is more general, and solves the more minor symptom that nested
traversals would also release the transaction lock early. (It was also suggestd in
Volker's comment in 6ed27ed).
This patch also applies to ctdb, if the traverse.c part is removed (ctdb's tdb
code never received the previous two fixes).
Tested using the testsuite from ccan (adapted to the samba code). Thanks to
Michael Adam for feedback.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Michael Adam <obnox@samba.org>
commit 760104188d0d2ed96ec4a70138e6d0bf86d797ed
Author: Rusty Russell <rusty@rustcorp.com.au>
Date: Tue Jul 21 16:23:35 2009 +0930
tdb: fix locking error
54a51839ea65aa788b18fce8de0ae4f9ba63e4e7 "Make tdb transaction lock
recursive (samba version)" was broken: I "cleaned it up" and prevented
it from ever unlocking.
To see the problem:
$ bin/tdbtorture -s 1248142523
tdb_brlock failed (fd=3) at offset 8 rw_type=1 lck_type=14 len=1
tdb_transaction_lock: failed to get transaction lock
tdb_transaction_start failed: Resource deadlock avoided
My testcase relied on the *count* being correct, which it was. Fixing that
now.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Michael Adam <obnox@samba.org>
(This used to be ctdb commit ce19658ba13272238058e9b9bc03e62f48b737c0)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Andrew Tridgell <tridge@samba.org> Date: Mon Jun 1 13:13:07 2009 +1000
overallocate all records by 25%
This greatly reduces the fragmentation of databases where records
tend to grow slowly by a small amount each time. The case where this
is most seen is the ldb index records. Adding this overallocation
reduced the size of the resulting database by more than 20x when
running a test that adds 10k users.
(This used to be ctdb commit e72974e5cefabc7035399d16633f727f868caa61)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Andrew Tridgell <tridge@samba.org> Date: Mon Jun 1 13:11:39 2009 +1000
auto-repack in transactions that expand the tdb
The idea behind this is to recover from badly fragmented free
lists. Choosing the point where the file expands is fairly arbitrary,
but seems to work well.
(This used to be ctdb commit 233c52bfb087f636ad61e95c12616c02901f4f83)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Author: Andrew Tridgell <tridge@samba.org> Date: Tue Dec 16 14:38:17 2008 +1100
imported the tdb_repack() code from CTDB
The tdb_repack() function repacks a TDB so that it has a single
freelist entry. The file doesn't shrink, but it does remove all
freelist fragmentation. This code originated in the CTDB vacuuming
code, but will now be used in ldb to cope with fragmentation from
re-indexing
(This used to be ctdb commit fe3ceb101a5a9c336973c2c6c31406bd8181c2fe)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Andrew Tridgell <tridge@samba.org> Date: Thu May 28 16:08:28 2009 +1000
make TDB_NOSYNC affect all the fsync/msync calls in transactions
During a transaction commit tdb normally uses fsync/msync calls to
make it crash safe. This can be disabled using the TDB_NOSYNC flag,
but it wasn't disabling all the code paths that caused a fsync/msync.
(This used to be ctdb commit e03980add02a28609a7a0a0c87ebc85419b98144)
|