svn commit: samba r10427 - in branches/tmp/samba4-winsrepl: . source source/include source/lib/ldb/include source/lib/ldb/ldb_tdb source/lib/ldb/tests source/lib/tdb source/lib/tdb/common source/lib/tdb/docs source/lib/tdb/include source/lib/tdb/tools source/winbind

metze at samba.org metze at samba.org
Thu Sep 22 18:37:05 GMT 2005


Author: metze
Date: 2005-09-22 18:37:03 +0000 (Thu, 22 Sep 2005)
New Revision: 10427

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=10427

Log:
 r12639 at SERNOX (orig r10418):  tpot | 2005-09-22 10:47:32 +0200
 Fix comparison_fn_t test I busted.  Add $HOME to the environment as some
 tools get confused if it isn't there.
 
 r12640 at SERNOX (orig r10419):  idra | 2005-09-22 11:06:37 +0200
 
 Remove unused prototypes of locking functions (thanks Jelmer)
 omment about transactions
 
 
 r12645 at SERNOX (orig r10420):  jelmer | 2005-09-22 14:23:44 +0200
 Two minor scons fixes
 
 r12646 at SERNOX (orig r10421):  tridge | 2005-09-22 15:12:46 +0200
 
 following on discussions with simo, I have worked out a way of
 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
 
 
 r12647 at SERNOX (orig r10422):  tridge | 2005-09-22 15:14:12 +0200
 
 ldb_search() can now use tdb_traverse_read() to ensure it can run in
 parallel with any transaction
 
 r12648 at SERNOX (orig r10423):  tridge | 2005-09-22 15:16:23 +0200
 
 minor changes to the ldb test suite to allow it to work correctly with
 a real ldap backend (such as openldap)
 
 r12649 at SERNOX (orig r10424):  tridge | 2005-09-22 15:20:28 +0200
 
 for caller convenience, automatically turn a tdb_traverse() into a
 tdb_traverse_read() for read only databases
 
 r12661 at SERNOX (orig r10426):  metze | 2005-09-22 20:35:08 +0200
 - restructure the winbind server code a bit
 - remove the echo test stuff
 - abstract out the used protocol
 - we have a seperate handler for the samba3 protocol now
 - the backend can easy do async replies
   by setting WBSRV_CALL_FLAGS_REPLY_ASYNC in wbsrv_call
   and then call wbsrv_queue_reply() later
 
 metze
 

Added:
   branches/tmp/samba4-winsrepl/source/winbind/wb_samba3_cmd.c
   branches/tmp/samba4-winsrepl/source/winbind/wb_samba3_protocol.c
   branches/tmp/samba4-winsrepl/source/winbind/wb_samba3_protocol.h
   branches/tmp/samba4-winsrepl/source/winbind/wb_server.h
Modified:
   branches/tmp/samba4-winsrepl/
   branches/tmp/samba4-winsrepl/source/SConstruct
   branches/tmp/samba4-winsrepl/source/include/structs.h
   branches/tmp/samba4-winsrepl/source/lib/ldb/include/ldb.h
   branches/tmp/samba4-winsrepl/source/lib/ldb/ldb_tdb/ldb_search.c
   branches/tmp/samba4-winsrepl/source/lib/ldb/tests/init.ldif
   branches/tmp/samba4-winsrepl/source/lib/ldb/tests/test.ldif
   branches/tmp/samba4-winsrepl/source/lib/tdb/SConscript
   branches/tmp/samba4-winsrepl/source/lib/tdb/common/error.c
   branches/tmp/samba4-winsrepl/source/lib/tdb/common/io.c
   branches/tmp/samba4-winsrepl/source/lib/tdb/common/lock.c
   branches/tmp/samba4-winsrepl/source/lib/tdb/common/tdb.c
   branches/tmp/samba4-winsrepl/source/lib/tdb/common/tdb_private.h
   branches/tmp/samba4-winsrepl/source/lib/tdb/common/transaction.c
   branches/tmp/samba4-winsrepl/source/lib/tdb/common/traverse.c
   branches/tmp/samba4-winsrepl/source/lib/tdb/docs/README
   branches/tmp/samba4-winsrepl/source/lib/tdb/include/tdb.h
   branches/tmp/samba4-winsrepl/source/lib/tdb/tools/tdbtorture.c
   branches/tmp/samba4-winsrepl/source/winbind/SConscript
   branches/tmp/samba4-winsrepl/source/winbind/config.mk
   branches/tmp/samba4-winsrepl/source/winbind/wb_server.c


Changeset:
Sorry, the patch is too large (1472 lines) to include; please use WebSVN to see it!
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=10427


More information about the samba-cvs mailing list