1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00
Commit Graph

6 Commits

Author SHA1 Message Date
Andrew Tridgell
07ade5e488 this is a demonstration of an idea for handling locks in ctdb.
The problem we have is this:

  - we want the client smbd processes to be able to 'shortcut' access
    to the ltdb, by directly accessing the ltdb, and if the header of
    the record shows we are the dmaster then process immediately, with
    no overhead of talking across the unix domain socket

  - a client doing a shortcut will use tdb_chainlock() to lock the
    record while processing

  - we want the main ctdb daemon to be able to set locks on the
    record, and when those locks collide with a 'shortcut' fcntl lock,
    we want the ctdb daemon to keep processing other operations

  - we don't want to have to send a message from a smbd client to the
    ctdbd each time it releases a lock

The solution is shown in this example. Note that the expensive fork()
and blocking lock is only paid in case of contention, so in the median
case I think this is zero cost.

(This used to be ctdb commit a3248c3e2b740cd2403acffd3c1f6a33dca0ea03)
2007-04-16 16:01:37 +10:00
Andrew Tridgell
b686f9d289 merge back some changes from Samba4
(This used to be ctdb commit b946ff61c0e4b3269d3c7e01093d0a6d5215d6ee)
2007-04-04 15:02:49 +10:00
Peter Somogyi
116bdb2590 Added overload test scenario + fixed 1 send queue bug.
TODO: externize debug level

(This used to be ctdb commit 98442ce3e2b3f09ca6736abfa0a8314cbdafaac7)
2007-01-30 18:47:26 +01:00
Peter Somogyi
952a1ba44d Adjusted debug level and test scenario.
(This used to be ctdb commit 7d87132195e603f936368da5dd4cb6754c45b721)
2007-01-26 16:45:51 +01:00
Andrew Tridgell
fcae7fb9ca - added in idtree for efficient reqid handling
- started adding ctdb_call() code

- added ctdb_call_local() implementation

(This used to be ctdb commit 97b1fdf7fa0e230f36add3f1770ecb3a9faee0a1)
2006-11-28 20:48:34 +11:00
Andrew Tridgell
749a6b4c3a started splitting out transport code
(This used to be ctdb commit 3b75ef65bd0bff9c6366aba5a26b90be509fa77b)
2006-11-27 21:38:13 +11:00