[SCM] Samba Shared Repository - branch v3-2-test updated -
release-3-2-0pre2-2388-ga0e1d8a
Jeremy Allison
jra at samba.org
Tue May 20 21:22:07 GMT 2008
Karolin, please pull these into 3.2-stable for the RC.
Thanks,
Jeremy.
On Tue, May 20, 2008 at 04:20:00PM -0500, Jeremy Allison wrote:
> The branch, v3-2-test has been updated
> via a0e1d8ac4dd9121312fd66ecb2e2942513df5a4b (commit)
> via fd0b60a9e000f969cf99a8d670080cc7a52d97d8 (commit)
> from 47eb2e8fa858d9f12637eb9a10466271335f61aa (commit)
>
> http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test
>
>
> - Log -----------------------------------------------------------------
> commit a0e1d8ac4dd9121312fd66ecb2e2942513df5a4b
> Author: Jeremy Allison <jra at samba.org>
> Date: Tue May 20 14:18:58 2008 -0700
>
> Convert in_transaction to a bool. Add the same fix Volker
> used for tdb_traverse() to tdb_traverse_read().
> Jeremy.
>
> commit fd0b60a9e000f969cf99a8d670080cc7a52d97d8
> Author: Volker Lendecke <vl at samba.org>
> Date: Tue May 20 21:54:36 2008 +0200
>
> Fix nesting tdb_traverse in a transaction
>
> 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
>
> -----------------------------------------------------------------------
More information about the samba-technical
mailing list