Age | Commit message (Collapse) | Author | Files | Lines |
|
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
(This used to be commit 3f884c4ae36f3260e63626bdd4989d9258ae6497)
|
|
used for tdb_traverse() to tdb_traverse_read().
Jeremy.
(This used to be commit bda0f03fb3fa8a7b14d4f54bee7076d691cad44f)
|
|
Calling tdb_traverse inside a transaction led to the transaction lock being
held indefinitely. This was caused by the tdb_transaction_lock/unlock inside
tdb_traverse: The transaction code holds the global lock at offset
TRANSACTION_LOCK. The call to tdb_transaction_lock does nothing because the
transaction_lock is already being held. tdb_transaction_unlock inside tdb_wrap
resets tdb->have_transaction_lock but does not release the kernel-level fcntl
lock. transaction_commit later on does not release that fcntl lock either,
because tdb->have_transaction_lock was already reset by tdb_transaction().
This patch does fix that problem for me. An alternative would be to make
tdb->have_transaction_lock a counter that can cope with proper nesting, maybe
in other places as well.
Volker
(This used to be commit 80e700e3bd73f2ffa38046bdcba7f532e25198ef)
|
|
(This used to be commit 92503eb60ea877a5dbf19acec7d7102fcf2923e7)
|
|
(This used to be commit eaba373747e7de5f911b25952ee396ab1bae75d9)
|
|
(This used to be commit 1a1c7954368a7f168a57f86f4f857cf70258e37a)
|
|
(This used to be commit 8c89d60924b0380231da834cd3c097b4f8cdc369)
|
|
Tridge, Jeremy, please check!
Thanks,
Volker
(This used to be commit e4f46d527411c54e8f26c05033b744c751810c32)
|
|
(This used to be commit 4f95c58040f46f343f55f9a5db2655a5e3b62c00)
|
|
(This used to be commit 625241c4773ae5c80dd0cb0c07a86aff633c1ede)
|
|
(This used to be commit 871cee04f26da97756804b38acfd366b6011dc9e)
|
|
minor fix to transaction_write_existing: tridge.
Jeremy.
(This used to be commit 874425c8f680fb2f737b46a3177b239e69302af5)
|
|
(This used to be commit 9f002eeff9bcf33a00e5641cb14338e866a17afe)
|
|
(This used to be commit c91e9c785b5bf4b0c479edf8eb33da22bf615387)
|
|
(This used to be commit 4aaf4e7e73a5c7fa97ef730fbff5c7cb12df2d6c)
|
|
this. Fixes insidious problem with order n^2 freelist merging.
Jeremy.
(This used to be commit c6609c042b128e7d63eb64cfdfb0f6b65cb59d76)
|
|
(This used to be commit 2a5c53220a5cc2b4a80fc7c6cb38e87789c5e797)
|
|
(This used to be commit 223352e32372f1b055298cfc6f2770043a845e3d)
|
|
(This used to be commit 89e2984a84951373d0e93fe06d0c69c8a62bc777)
|
|
Jeremy.
(This used to be commit ecc2555197860ae56726724ec824fc149d2d831c)
|
|
Mainly this is the svn changes :
------------------------------------------------------------------------
r23238 | tridge | 2007-05-30 01:15:49 -0700 (Wed, 30 May 2007) | 6 lines
merged transaction lock changes from ctdb
this ensures that having the global lock also implies the transaction
lock
------------------------------------------------------------------------
r22832 | tridge | 2007-05-13 18:00:06 -0700 (Sun, 13 May 2007) | 3 lines
merged the latest tdb changes from ctdb to Samba4
Jeremy.
(This used to be commit ab11c0055761e97ba32a8c3ec4fa6f8763a262cd)
|
|
an alarm sig would not terminate and could lead
to runaway smbd processes.
Thanks to Dave Daugherty @ Centrify for pointing
this out to us.
Jeremy.
(This used to be commit ef8da1698371c95495add53df81a978df709c88d)
|
|
libreplace testing.
metze
(This used to be commit 4f084efd6ac39a8347d5cfc73b727940e40150cf)
|
|
(This used to be commit 5c6c8e1fe93f340005110a7833946191659d88ab)
|
|
Guenther
(This used to be commit 579fb55b7556dc90b42f77d5fc9e9c31f34974e5)
|
|
r23977.
Michael
(This used to be commit a3506f291abfb8a9516b79c10c79841a7391651e)
|
|
(This used to be commit 4a5fa715a6af281282092644817599f79806981d)
|
|
(This used to be commit 26d1430283bd4ae8b8a84f3253e33417d509c1a4)
|
|
(This used to be commit eabe796e464e5fe10d0f4cca1362985c529f5a5b)
|
|
Michael
(This used to be commit de0ef9134650e3e7cc5b5cfec9e8dd8510bd6677)
|
|
error condition to write. This is in tdb_new_database.
Fix one call to tdb_new_database in tdb_open_ex to not
overwrite the newly propagated errno (typically ENOSPC).
Michael
(This used to be commit 24fed55d72a4922bfd3ddba61449fbae01365feb)
|
|
* prevent infinite loops due to 0 bytes written:
try once more. if we still get 0 as return,
set errno to ENOSPC and return -1 (error)
* replace int by correct types (ssize_t and size_t).
* print a warning log message in case "written < requested to write"
usually this means, that the next call to pwrite will fail
with return value -1 and set errno accordingly.
Note that the former error condition "written != requested to write"
is not a correct error condition of write/pwrite. If this is due
to an error, a subsequent call to (p)write will reveal the cause
(typically "no space left on device" - ENOSPC).
Michael
(This used to be commit 5b8d53dfe1872621bf28c8351d87bfc53ef6e66b)
|
|
The proper error condition is (ret == -1) instead of
(ret != number_of_byte_told_to_write).
Michael
(This used to be commit e3af95f0983e9f92c10a80ee4f15a0cd718a4728)
|
|
(This used to be commit c676a971142d7176fd5dbf21405fca14515a0a76)
|
|
(This used to be commit 1b78cace504f60c0f525765fbf59d9cc6506cd4d)
|
|
Jeremy.
(This used to be commit d7b39e4534d85c84e8b24668ab7d7a93d5647c23)
|
|
say "locks chain and returned record", not
"and returns record"
Jeremy.
(This used to be commit bf951e3d7f0310cc624abab11a7fb04c50770425)
|
|
travlocks.lock_rw for lock read/write types, it
was sometimes using it (tdb_next_lock) and
sometimes explicitly using F_WRLCK instead.
Change this to consistently use travlocks.lock_rw
only.
I'm pretty sure about this fix (else I woudn't
be checking this in :-) but tridge and Volker
please review.
Jeremy.
(This used to be commit d0b64567630ec02eb437aa713847bb23a8be8a60)
|
|
optimization.
(This used to be commit 945f73fa39ba6f2b637379ac20d52b4d0306d77f)
|
|
metze
(This used to be commit 56e31d60c672689e934fbed2794c7c54cf874b11)
|
|
this function should be static
metze
(This used to be commit f722fd32da56aabca2fffe243e89177bc23e2be7)
|
|
and make the functions static.
also use libreplace headers in tdbbackup.c
metze
(This used to be commit 1ca12b1c9e7e8267fa13a40ebeb2bdcd199237de)
|
|
metze
(This used to be commit c7def92a9c2e17c90061ef17bc14e36250574e85)
|