1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-27 03:21:53 +03:00
Commit Graph

166 Commits

Author SHA1 Message Date
Ronnie Sahlberg
cd68b9aa8d add an initial manpage for the ctdb tool
(This used to be ctdb commit 3d6fe2aae4584f53a2fcc11a3f3bc7ead4e9c3f3)
2007-06-09 08:41:36 +10:00
Andrew Tridgell
14c788f3cb move more util code to lib/util
(This used to be ctdb commit de5ab0584c978a6be4afeacd80c84015b206a3c6)
2007-06-07 22:30:29 +10:00
Andrew Tridgell
b50096c835 more code rearrangement
(This used to be ctdb commit 2bcf3b16163041f03add2e5bf9f1f5fb3599ec24)
2007-06-07 22:16:48 +10:00
Andrew Tridgell
ae3d54094b start splitting the code into separate client and server pieces
(This used to be ctdb commit 603cd77988c181525946cd5eb0f4d0d646b58059)
2007-06-07 22:06:19 +10:00
Andrew Tridgell
e16717eb01 added 40.vsftpd to Makefile.in
(This used to be ctdb commit 90260d0d362c6e2b58755724056fbe5e63bd29c9)
2007-06-06 10:41:13 +10:00
Andrew Tridgell
dbb2ec43dd added tunables settable using ctdb command line tool
(This used to be ctdb commit 73d440f8cb19373cfad7a2f0f0ca4f963c57ff29)
2007-06-04 19:53:19 +10:00
Andrew Tridgell
a57991c0eb remove some cruft thats not needed any more
(This used to be ctdb commit c4308805b997740b77e058c1a14b84cb400a7c30)
2007-06-04 17:23:55 +10:00
Andrew Tridgell
cc9f6d30d8 split out the basic interface handling, and run event scripts in a deterministic order
(This used to be ctdb commit 399e993a4a233a5953e1e7264141e5c7c8c8c711)
2007-06-04 15:09:03 +10:00
Andrew Tridgell
794d6dd59d move config files to config/ directory
(This used to be ctdb commit f95de519b885c8e1f40df0cda70fd796e479a22a)
2007-06-02 19:40:07 +10:00
Andrew Tridgell
90158f7ad7 removed some old cruft
(This used to be ctdb commit 44040d5ecabcd32ee26c0285e3786dfb9b4f8126)
2007-06-02 19:23:48 +10:00
Andrew Tridgell
68963d865a first step towards fixing "make test" with the new daemon system
(This used to be ctdb commit f95f7e4c93dea482e6cf0614b5415229a7c9f3fb)
2007-06-02 13:16:11 +10:00
Andrew Tridgell
21f6fa5359 put nfs events in spec and Makefile.in
(This used to be ctdb commit 07f03c61c621d8428ecdb56ee08ba895a57ed9c0)
2007-06-02 00:11:53 +10:00
Andrew Tridgell
dff9a6ecd1 make the packaging much more portable - tested on SLES9 and RHEL4
(This used to be ctdb commit 9521e3eee42b11303a2d6e0f5c05d0c0de4292d8)
2007-06-01 23:25:33 +10:00
Andrew Tridgell
1fa2600c8b - make symlink relative in install
- include ctdb functions in samba and nfslock event scripts

(This used to be ctdb commit 08e2278069346b1fc49774603aa26c68222cf67f)
2007-06-01 21:20:05 +10:00
Andrew Tridgell
02bfa10daa tidy up the install somewhat
(This used to be ctdb commit 07e202ae8451ffa67c40973625996224cfd4e158)
2007-06-01 21:10:49 +10:00
Andrew Tridgell
0f605ccdb2 more build tweaks
(This used to be ctdb commit d4c3380c7a9d332311c5d03ba151e7f2f90796a3)
2007-05-29 15:52:03 +10:00
Andrew Tridgell
873c3a5934 use autoconf for more paths
(This used to be ctdb commit b765a391632621dfe3b129b85782e87f586ae2eb)
2007-05-29 15:20:41 +10:00
Andrew Tridgell
ccf4d78e04 - renamed ctdb_control utility to ctdb
- use -n to specify node number in ctdb utility

- change 'ctdb status' to 'ctdb statistics'

- added 'ctdb status' which shows status

- added netmask to public IPs, so you don't try a takeover on a
  foreign network

- cleaned up tools/ctdb_control.c a lot

- generate usage message at runtime

(This used to be ctdb commit 28de71c03ace7d32a9fd9882fabbd5d668b97656)
2007-05-29 12:16:59 +10:00
Andrew Tridgell
9838027ff8 rename ctdb_control utility to ctdb
(This used to be ctdb commit 7fc3868a1a49aa8b49b277793eede903606b4353)
2007-05-29 10:59:12 +10:00
jmcd@samba.org
3be6ed7d42 Inital rpm build files
(This used to be ctdb commit 8830592b9202d6edab16af5c717608096597c517)
2007-05-27 16:48:18 -04:00
Andrew Tridgell
56e3eed3d1 added IP takeover logic for public IPs to ctdb
(This used to be ctdb commit 374adb729472670f35cef41269b8719f49c0de0e)
2007-05-25 17:04:13 +10:00
Andrew Tridgell
ab66fb840e removed obsolete ctdb_dump tool
(This used to be ctdb commit e3ed6fd65896f07fc76405acb2e16f50f04a0a3c)
2007-05-19 14:07:01 +10:00
Ronnie Sahlberg
db4c479568 add dead node detection so that if a node does not generate any
keepalive traffic for x seconds   it is deemed dead


this triggers a recovery after a while if a ctdbd has been STOPPED    
but it doesnt recover automatically when the node reappears

(This used to be ctdb commit d6324afe0d13b5e21d06e347caca433c6b36a32a)
2007-05-18 19:19:35 +10:00
Andrew Tridgell
a5198559c9 moved the recovery daemon into the main ctdbd and enable it by default
(This used to be ctdb commit 2a7d42124731f43d013cb76a798525eab4cc1ee0)
2007-05-15 15:13:36 +10:00
Andrew Tridgell
9cf77dd23f separate out the freeze/thaw handling from recovery
(This used to be ctdb commit 0b0640bd8b8334961f240e0cf276ac112cd6e616)
2007-05-12 15:15:27 +10:00
Ronnie Sahlberg
92333fce03 change the name of the recovery daemon to ctdb_recoverd
(This used to be ctdb commit b0cf919e4f38961e5cf4e1e79a0cfe4bb4a96d76)
2007-05-09 09:31:53 +10:00
Andrew Tridgell
24ed74a454 use the new lib/events autoconf code
(This used to be ctdb commit fec779711e8c4d6e047d792aee744e60e5a9f67c)
2007-05-05 17:18:06 +10:00
Ronnie Sahlberg
ebc478749b start working on a recovery daemon
change ctdb_control so it takes a timeval pointer as argument.
this is the timeout. if the node has not responded within hte timeout
ctdb_control will return an error instead of hanging.
if the timeval pointer is NULL then the call will block indefinitely if 
there is no response.

this is used for now in the createdb control   but all the helpers 
ctdb_ctrl_* should probably be updated to take a timeout parameter as 
well.

(This used to be ctdb commit 1fe64b04869b17dbf123851b0fe09df8d28a6211)
2007-05-04 08:30:18 +10:00
Andrew Tridgell
472b96d6d3 first stage of efficient non-blocking ctdb traverse
(This used to be ctdb commit 4c23e6f26bde421bb56b55de9d6cd3e319b2be40)
2007-05-03 12:16:03 +10:00
Ronnie Sahlberg
27880056db break set/get vnn map out from ctdb_control and put it in ctdb_recover.c
for the time being

remove all the [de]marshalling and just pass a structure around instead

(This used to be ctdb commit b1169555ab7015976c0135ff51121cc238f5887c)
2007-05-03 11:06:24 +10:00
Andrew Tridgell
6c114bb1bd enabled built in popt if system doesn't have it
(This used to be ctdb commit 30c8d69267a78e1d3dea0fcc936ee2939bb7a373)
2007-05-03 05:21:14 +10:00
Andrew Tridgell
169f129404 merge latest versions of lib/replace, lib/talloc, lib/tdb and lib/events into ctdb bzr tree
(This used to be ctdb commit eaea8a9fa8d2f5e08f3af619fa1008a663f39053)
2007-05-02 07:32:04 +10:00
Andrew Tridgell
5b8c4bba5a auto-determine listen address by attempting to bind to each address in the cluster in turn
(This used to be ctdb commit 2fab9f96df2e5b5c51c860fd65caf0e926a63e34)
2007-05-01 06:34:55 +10:00
Andrew Tridgell
f455d3f44b saner logfile code
testing of ctdbd

(This used to be ctdb commit 05789da5818f8b20f04779b0df5125914d9047f6)
2007-04-29 22:42:23 +02:00
Andrew Tridgell
d6977a714f use rsync to avoid text busy on install
(This used to be ctdb commit d19be7ea56003faffcb3fb8a76fd804df0431242)
2007-04-28 17:13:02 +02:00
Andrew Tridgell
76381c4493 added make test and make valgrindtest targets
(This used to be ctdb commit b69fb43643993ee5aaabf8711bb874f95d468f35)
2007-04-28 10:57:58 +02:00
Andrew Tridgell
4c6d6d4aa6 added install target
(This used to be ctdb commit f24f043a18082d21ba240a73de9daab50cd442a5)
2007-04-27 17:24:10 +02:00
Andrew Tridgell
8ae14b4052 moved status to ctdb_control
(This used to be ctdb commit 9a543968ba0379fbf8e977e184f22f4349d6243f)
2007-04-26 14:51:41 +02:00
Andrew Tridgell
d955485e7b added a ctdb control message, and tool
(This used to be ctdb commit 0d7a71f35bb8ce95231f8ca1e8e3e4024fe657e5)
2007-04-26 14:27:49 +02:00
Andrew Tridgell
2a08818e24 added a useful tool for dumping a ctdb
(This used to be ctdb commit 671ed94011e21396571a3f4a5191b9a83911c952)
2007-04-22 09:24:27 +02:00
Andrew Tridgell
2e5aae04de added ctdb_status tool
(This used to be ctdb commit 908d6c6a936e21f70f05827ce302e966cca0132a)
2007-04-20 20:07:47 +10:00
Volker Lendecke
3057f683f3 Add timestamps to debug output.
(This used to be ctdb commit 197a02384bd2ca42dfff4c0357175424d2321e9c)
2007-04-17 17:59:39 +02:00
Andrew Tridgell
1e2d91c761 moved cmdline.c to common code
(This used to be ctdb commit 32b31a6b91a19fc0c5225cb88c35cc1d14b4a6df)
2007-04-17 22:16:50 +10:00
Andrew Tridgell
7758511568 use the common cmdline code in ctdbd
add a basic debug system with -dXX

(This used to be ctdb commit af9f21cef79f888c57d3b50a23ca787c9567ce60)
2007-04-17 22:13:06 +10:00
Andrew Tridgell
8147d033a3 added a ctdb_ltdb_lock_fetch_requeue() function
this will be the core of the non-blocking lock idea for ctdb, it will be used
in place of ctdb_ltdb_fetch(), but will also get a lock. It re-starts a request
if it needs to block
(This used to be ctdb commit afa479026cf6293e6a878c8a329cdac035284672)
2007-04-16 23:52:14 +10:00
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
36cfd2cc64 pull out common command line code for tests into tests/cmdline.c
(This used to be ctdb commit de3db72c1fd0e56ac2b8d8fe962c725dc64f2051)
2007-04-16 14:12:50 +10:00
Ronnie sahlberg
91b7cc8b27 add a beginning of a new test
right now this test only does one fetch lock   but this will be enhanced as more code is added to ctdb to handle fetch_lock and store_unlock

(This used to be ctdb commit 996f117d9181dee22aea979ce04333035f5522c7)
2007-04-12 21:17:10 +10:00
Ronnie sahlberg
4b6fbe7be1 create a standalone ctdb daemon and a script ./direct/ctdbd.sh to start two such daemons in a 2 node cluster.
create a small test application that connects to the ctdb daemon at /tmp/ctdb.socket.127.0.0.1 and do some commands to the daemon.
currently this test tool only opens the socket and registers its pid with the daemon
(the daemon needs to know the pid so that it can forward messages to the correct client)

the test will be extended with additional ctdb commands

(This used to be ctdb commit 801f6127cdd50c5b2d0e64dd8db08500af9dadc9)
2007-04-11 18:54:22 +10:00
Ronnie sahlberg
185cd326da add a test that sends messages between clients connected to the same ctdb
add code to actually pass the messages between clients and ctdb

(This used to be ctdb commit 6d5b55d7b9c611fb5e98765906757a7d82e4bf6b)
2007-04-11 13:43:15 +10:00
Andrew Tridgell
110fe0c5a5 - add --daemon flag to ctdb_fetch test code
- split client specific routines out of ctdb_daemon.c
 - use ctdb_queue code in message send from client to daemon
 - use clearer names in client/daemon functions
 - use talloc autofree context to avoid global for unlink of socket on
   exit
 - start on API change for message handler, to allow ctdb messaging to
   handle daemon mode with multiple clients

(This used to be ctdb commit 53555db45f3583ae4a32cc3aa9e07fb8ef2a77e3)
2007-04-11 11:01:42 +10:00
Ronnie sahlberg
b384019536 dispatcher daemon first try.
does not yet work

(This used to be ctdb commit ff428808c6546d6f2804a1ac1cf414d1bb9cdcb4)
2007-04-09 11:51:27 +10:00
Andrew Tridgell
7074b3c94c put test code in tests/ directory
(This used to be ctdb commit 6dbb36f27dd0f8ac00c7a010108d4fba15753479)
2007-04-07 10:01:09 +10:00
Andrew Tridgell
230c97b04d merge fetch code from ronnie, and add a simple fetch test
(This used to be ctdb commit 83b794befd8d34b3da544a483f9d39a3fa140655)
2007-04-05 13:18:31 +10:00
Peter Somogyi
8b6f1c39e7 Some minor changes before integrating ib...
(This used to be ctdb commit fa39ad5054de6e781ca980b9e24d22fa0c67e9ae)
2007-02-12 16:47:12 +01:00
Andrew Tridgell
26d62554c2 merged ctdb messaging code from samba4
(This used to be ctdb commit af3010562763811deb9b7e37fea9962a42885d9d)
2007-02-09 09:42:04 +11:00
Andrew Tridgell
e1797cf6be added copies of libs so can be built standalone
(This used to be ctdb commit 0bf6e6cb371bb946ea8cc1d8c7a23a41ea715832)
2007-01-25 15:10:40 +11:00
Andrew Tridgell
9a2ca05372 merge from ab
(This used to be ctdb commit 5074b6e84704e213f733cebc92c62ca135f03cd6)
2006-12-20 10:32:31 +11:00
Andrew Tridgell
6dbaa5abfc simple ctdb benchmark
(This used to be ctdb commit eb80fd212472fe3b111dabe7adf6dd507fe3656a)
2006-12-19 16:27:03 +11:00
Alexander Bokovoy
fc2d20e41e Fix cleaning targets to delete proper files
(This used to be ctdb commit 3af84af196e64332fa3ede0689c026b1faa97466)
2006-12-18 17:58:29 +03:00
Peter Somogyi
d323249d2c Made infiniband support configurable.
Adjusted "make distclean" NOT to remove the lib folder (again).
Removed again config.h.in autogenerated file from bzr.

(This used to be ctdb commit 3c264205157c8c2af03bca0051a1fe715c8470e5)
2006-12-15 16:02:45 +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
fdb317facf - added simple (fake) vnn system
- split up ctdb layer code into 3 modules

- added a simple test suite

- added packet structures for ctdb_call

- switched to an array for ctdb_node to make vnn lookup easy and fast

(This used to be ctdb commit 8a17460a816a5970f2df8244a06aec55d814f186)
2006-11-28 17:56:10 +11:00
Andrew Tridgell
5b06e73fb1 - split up tcp functions into more logical parts
- added upcall methods from transport to ctdb layer

(This used to be ctdb commit 59f0dab652000f1c755e59567b03cf84dad7e954)
2006-11-28 11:51:33 +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
Andrew Tridgell
6613b7d438 initial version
(This used to be ctdb commit 5bba7deef9b03a68d336c138e83d6d4fac35bfce)
2006-11-18 10:41:20 +11:00