summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * daemon: Add a tunable to enable automatic database priority settingAmitay Isaacs2013-01-054-5/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Samba versions 3.6.x and older do not set the database priority. This can cause deadlock between Samba and CTDB since the locking order of database will be different. A hack was added for automatic promotion of priority for specific databases to avoid deadlock. This code should not be invoked with Samba version 4.x which correctly specifies the priority for each database. Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Michael Adam <obnox@samba.org> (This used to be ctdb commit 4a9e96ad3d8fc46da1cd44cd82309c1b54301eb7)
| * daemon: Check if log_latency_ms is set before using itAmitay Isaacs2012-11-301-1/+1
| | | | | | | | | | | | | | | | This fixes a bug where wrong variable is checked. Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit f81e9add466b1d9b2796c09c6ba63b77296ea149)
| * Git should ignore generated include/version.h fileMartin Schwenke2012-11-271-0/+1
| | | | | | | | | | | | Signed-off-by: Martin Schwenke <martin@meltin.net> (This used to be ctdb commit 905cd1293aa97dc7839a59b4f68eca02981f0891)
| * vacuum: Avoid some tallocs in ctdb recoveryVolker Lendecke2012-11-261-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | In a heavily loaded and volatile database a lot of SCHEDULE_FOR_DELETION requests can come in between fast vacuuming runs. This can lead to significant ctdb cpu load due to the cost of doing talloc_free. This reduces the number of objects a bit by coalescing the two objects of delete_record_data into one. It will also avoid having to allocate another talloc header for a SCHEDULE_FOR_DELETION key. Not the full fix for this problem, but it might contribute a bit. (This used to be ctdb commit 9a02f61547ddf74629aca21639d8fb61c1df7cbb)
| * doc: Update ping_pong documentation to add -c optionAmitay Isaacs2012-11-211-0/+17
| | | | | | | | | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit d05faf294e58e22ae3fbc76162258f1ae8178129)
| * utils:ping_pong: add a -c switch to check the lock before reading/writingMichael Adam2012-11-201-2/+40
| | | | | | | | | | | | | | | | | | | | This is to verify that the fcntl F_GETLK call reports F_UNLCK if called from a process already holding a lock. This is for example used by samba's strict locking code in combination with "posix locking = true". Signed-off-by: Michael Adam <obnox@samba.org> (This used to be ctdb commit 4f42d17b74ce891691eee1cead498959cc8e4837)
| * recovery: data corruption of persistent DBs after recoveries: don't delete ↵Michael Adam2012-11-201-2/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | emtpy records The record-by-record mode of recovery deletes empty records. For persistent databases, this can lead to data corruption by deleting records that should be there: - Assume the cluster has been running for a while. - A record R in a persistent database has been created and deleted a couple of times, the last operation being deletion, leaving an empty record with a high RSN, say 10. - Now a node N is turned off. - This leaves the local database copy of D on N with the empty copy of R and RSN 10. On all other nodes, the recovery has deleted the copy of record R. - Now the record is created again while node N is turned off. This creates R with RSN = 1 on all nodes except for N. - Now node N is turned on again. The following recovery will chose the older empty copy of R due to RSN 10 > RSN 1. ==> Hence the record is gone after the recovery. On databases like Samba's registry, this can damage the higher-level data structures built from the various tdb-level records. This patch fixes that problem by not deleting empty records in recoveries for persistent databases. Signed-off-by: Michael Adam <obnox@samba.org> (This used to be ctdb commit 6860c79aea416f56cfd7a6af790bbdf495dbc54e)
| * recoverd: fix a comment typoMichael Adam2012-11-201-1/+1
| | | | | | | | | | | | Signed-off-by: Michael Adam <obnox@samba.org> (This used to be ctdb commit 909269a4a3690e1245117ca1af935401455785e6)
| * vacuum: fix a comment typoMichael Adam2012-11-191-1/+1
| | | | | | | | | | | | | | Pair-Programmed-With: Volker Lendecke <vl@samba.org> Signed-off-by: Michael Adam <obnox@samba.org> (This used to be ctdb commit bab744e3c49efef2e05dc09e8ea9bd3e3fa58716)
| * Eventscripts: 10.interface should list configured interfacesMartin Schwenke2012-11-191-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | The current code lists available interfaces. If IPs are configured in some other way than the public addresses file (e.g. ctdb addip) and their interfaces default to being marked down then, since down interfaces are not available, these interfaces can never be marked up. The configured interfaces should be listed instead. Signed-off-by: Martin Schwenke <martin@meltin.net> (This used to be ctdb commit d8f010355b715e49709836e057a5d0f110919897)
| * ctdbd: Make the link status of new interfaces more flexibleMartin Schwenke2012-11-191-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Neither up nor down is a good default value for the link status of a new interface. Up means that IPs can be assigned to interfaces before the true state is known and they can move away quickly if the interface is actually down. Down means that IPs can't be assigned to an interface for a variable amount of time - until a monitor cycle occurs - and this can result in imbalanced IPs. This is a neat compromise. Before the startup event completes, IPs can't be assigned to interfaces because all interfaces begin in a down state. As soon as the startup event completes, IPs can be allocated to any interface that has been marked up by the eventscript. Later, during normal operation, newly added IPs can be assigned to new interfaces immediately. The IPs will still move away if an interface is noticed to be down in the next monitor cycle, but that is the exception rather than the rule. Signed-off-by: Martin Schwenke <martin@meltin.net> (This used to be ctdb commit 9275a69a414482f1053ae14528d5972575b9214e)
| * locking: Do not use RECLOCK for tracking DB locks and latenciesAmitay Isaacs2012-11-142-6/+12
| | | | | | | | | | | | | | | | | | | | RECLOCK is for recovery lock in CTDB. Do not override the meaning for tracking locks on databases. Database lock latency has nothing to do with recovery lock latency. Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit 54e24a151d2163954e5a2a1c0f41a2b5c19ae44b)
| * tools/ctdb: Do not use function return value as pnnAmitay Isaacs2012-11-141-3/+5
| | | | | | | | | | | | | | | | | | This fixes the wrong code where same variable 'ret' is used to track the pnn and the return value of a function call. Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit 718233c445cd6627ab3962b6565c2655f1f8efd0)
| * recoverd: Track the nodes that fail takeover run and set culprit countAmitay Isaacs2012-11-143-11/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If any of the nodes fail takeover run (either due to timeout or failure to complete within takeover_timeout interval) from main loop, recovery master will give up trying takeover run with following message: "Unable to setup public takeover addresses. Try again later" And as a side-effect the monitoring is disabled on all the nodes. Before ctdb_takeover_run() is called from main loop, monitoring get disabled via startrecovery event. Since ctdb_takeover_run() fails, it never runs recovered event and monitoring does not get re-enabled. In main_loop, ctdb_takeover_run() is called with a takeover_fail_callback. This callback will get called if any of the nodes fail in handling takeip/releaseip/ipreallocated events in ctdb_takeover_run(). Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit a5c6bb1fffb8dc3960af113957a1fd080cc7c245)
| * Eventscripts: 10.interface startup event should only process interfaces onceMartin Schwenke2012-11-141-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Provided that monitor_interfaces() sets the state of each interface, there's no need to mark all interfaces as up before running monitor_interfaces() in the startup event. monitor_interfaces() will set the true status of each interface anyway. The duplication is unnecessary and may cause extra action in the recovery daemon because the state of some interfaces is changed an extra time. Instead, add a comment at the top of the loop in monitor_interfaces() to warn against early loop exits. Signed-off-by: Martin Schwenke <martin@meltin.net> (This used to be ctdb commit f243a916ee71013f7402b9c396c2ead88eb3aab0)
| * build: Fix the build with old system-installed teventVolker Lendecke2012-11-081-1/+4
| | | | | | | | | | | | We depend on the tracing callback mechanism in ctdb. (This used to be ctdb commit 5f58c811127a89f162b6a41ddcd6e944801740a5)
| * ctdbd: Fix compilation warning in locking codeMartin Schwenke2012-10-311-2/+2
| | | | | | | | | | | | Signed-off-by: Martin Schwenke <martin@meltin.net> (This used to be ctdb commit cd64035d71ddff6aebe6c15a49e09527283425d2)
| * web: Update instructions for building from tarballAmitay Isaacs2012-10-311-1/+9
| | | | | | | | | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit ceac026713a7ee30ea865ed4a9422900ed76fdf6)
| * tests: Do not check release suffix in ctdb version testAmitay Isaacs2012-10-311-1/+2
| | | | | | | | | | | | | | | | | | release suffix added by RPM is to track packaging changes. Core CTDB version does not include the release suffix. Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit aad1584da8a8425bc6f5163c95810e9d2390dc91)
| * packaging: Use maketarball.sh script to create tarball for RPMAmitay Isaacs2012-10-301-18/+5
| | | | | | | | | | | | | | | | | | This removes the duplicate code for building tarball and reuses existing script. Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit 16a91c2a4d03b46743611e2fe844bb2cef95e46a)
| * packaging: Use optional argument as targetdir when creating tarballAmitay Isaacs2012-10-301-14/+14
| | | | | | | | | | | | | | | | In addition, do not modify CTDB version string with extra suffix. Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit 3d4838db51dd8199b9c29aebb6e7bfbd2a27b8bb)
| * tool/ctdb: Always support ctdb version command, don't make it optionalAmitay Isaacs2012-10-302-9/+4
| | | | | | | | | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit f8af7d8de76e68e5c4bde15f832a31ce9107e8c7)
| * build: Add rules to create include/version.h when building from git treeAmitay Isaacs2012-10-301-1/+7
| | | | | | | | | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit 8df7ea6b20417833792932487a082b3c71bb6837)
| * packaging: Create include/version.h to define CTDB_VERSION_STRINGAmitay Isaacs2012-10-301-0/+14
| | | | | | | | | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit b151f9b62299ec5b887c62cef780547a39c0ba9d)
| * Add a \n to an error messageVolker Lendecke2012-10-251-1/+1
| | | | | | | | (This used to be ctdb commit 9be3b23adbfc844b71bf1d4ddf0fbc3b269f15fa)
| * Avoid a bashism in 60.ganeshaVolker Lendecke2012-10-241-1/+1
| | | | | | | | | | | | | | This file is #!/bin/sh. On sn-devel at least, with this /bin/sh the shell does not like == for string equality. (This used to be ctdb commit e2213db479129ce9c2b2fb88ec8c53cbd33d54b3)
| * web: Update broken links to manpagesAmitay Isaacs2012-10-241-3/+5
| | | | | | | | | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit e94070de52232d6cefae0c6276df88b8fc380a4e)
| * packaging: Bundle README, COPYING and html version of manpagesAmitay Isaacs2012-10-222-0/+14
| | | | | | | | | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit 6871415f6cb50c4f9753067359f0e264d3f93871)
| * doc: Do not keep the built version of manpages in version controlAmitay Isaacs2012-10-2210-4834/+0
| | | | | | | | | | | | | | | | | | | | Generated docs will be bundled with release tarballs. No need to keep them in git. This avoids the need to commit the generated doc version if source xml is modified. Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit f3888712298f1de7cc7eb51f50c22080fa64e3c0)
| * packaging: Use common code to generate VERSION stringAmitay Isaacs2012-10-222-39/+9
| | | | | | | | | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit 0019291371af1e63ee132ed173ba7f52a0291a44)
| * packaging: Factor out the code to genreate VERSION stringAmitay Isaacs2012-10-221-0/+50
| | | | | | | | | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit 19fb26346567d2249b1237f92d871022db2ba8cd)
| * packaging: Build docs and include them in tarballAmitay Isaacs2012-10-221-1/+8
| | | | | | | | | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit 69f0473b72aadab5bd5791ccff2facd0cd469d43)
| * build: Extract building of manpages in a separate MakefileAmitay Isaacs2012-10-222-14/+21
| | | | | | | | | | | | | | | | | | This can then be used to build manpages/html when creating tarball. Do not build docs during a regular build, but only for install. Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit 3274cffe2052953b34141a82de6053b747532a88)
| * doc: README - add information about CTDB, license and websiteAmitay Isaacs2012-10-221-0/+8
| | | | | | | | (This used to be ctdb commit db987eeb3c6e10552a1c1334bf263eb66fcad9ab)
| * web: Add posix locking information to prerequisitesAmitay Isaacs2012-10-221-5/+17
| | | | | | | | | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit b3eac871895cc586bcc671835e882b136e466b98)
| * web: Add the links to ftp/http ctdb download areaAmitay Isaacs2012-10-221-4/+7
| | | | | | | | | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit 12e4a3e2953842b4c3842bf920fe2086df4fe46c)
| * web: Remove reference to non-existent config filesAmitay Isaacs2012-10-221-3/+1
| | | | | | | | | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit 4250c7ebe369e73cf29ff910bb9bfc929735408c)
| * doc: getlog and clearlog changes for recovery daemon logsMartin Schwenke2012-10-223-340/+555
| | | | | | | | | | | | Signed-off-by: Martin Schwenke <martin@meltin.net> (This used to be ctdb commit c18ec8ec234cb71da6cc77b1aadc398f57187947)
| * tests: Local daemons should use the logging ringbufferMartin Schwenke2012-10-221-1/+1
| | | | | | | | | | | | Signed-off-by: Martin Schwenke <martin@meltin.net> (This used to be ctdb commit 7547e011005f0dd5bd38e67572280126cf16e229)
| * tools/ctdb: Merge recoverd log handling into getlog/clearlogMartin Schwenke2012-10-221-102/+63
| | | | | | | | | | | | | | | | | | | | We don't need extra commands for these. Also, allow a default value of NOTICE for the getlog level. Signed-off-by: Martin Schwenke <martin@meltin.net> (This used to be ctdb commit 7197e600f46f2d1638f6c45c0149f109ea25a47c)
| * tools/ctdb: Add log ringbuffer handling for recoverdMartin Schwenke2012-10-221-0/+73
| | | | | | | | | | | | | | | | | | | | | | This adds commands rdgetlog and rdclearlog These are analogous to getlog and clearlog but operate on the logs for the recovery daemon. Signed-off-by: Martin Schwenke <martin@meltin.net> (This used to be ctdb commit ef55e06192819d840c09b65741bab737223ac34c)
| * recoverd: Add CTDB_SRVID_GETLOG and CTDB_SRVID_CLEARLOGMartin Schwenke2012-10-224-4/+63
| | | | | | | | | | | | | | | | | | These support getting and clearing logs from the ring-buffer in the recovery daemon. Signed-off-by: Martin Schwenke <martin@meltin.net> (This used to be ctdb commit cbca233d1e03b2410e0bb63b936328d4a8b3c7b4)
| * build: Set CTDB_PATH to /tmp/ctdb.socket if SOCKPATH is not definedAmitay Isaacs2012-10-221-1/+5
| | | | | | | | | | | | | | | | | | When building samba with CTDB, if samba configure/waf does not support setting of SOCKPATH, fallback to /tmp/ctdb.socket. Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit a9511cf5ecd5bc39b0070f0afa8ac4d4926c6cab)
| * Build: Set the default ctdb socket path at configure timeDavid Disseldorp2012-10-213-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ctdb socket path currently defaults to /tmp/ctdb.socket and can be modified at runtime using the --socket=filename option, common to both ctdb and ctdbd binaries. This change allows the default path to be set at configure time using the --with-socketpath=FILE argument. When not specified, the default path remains /tmp/ctdb.socket, documentation remains unchanged as a result. Signed-off-by: David Disseldorp <ddiss@samba.org> (This used to be ctdb commit f92b9c83a2f39fba9a141417a88de96fc8c592ff)
| * locking: Do not use ctdb_kill() to kill smbd processesAmitay Isaacs2012-10-201-1/+1
| | | | | | | | | | | | | | | | ctdb_kill() is used to terminate processes spawned by CTDB. Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit 7d025281ee70c91ebcd4d9a908de1045a689786b)
| * locking: Add database priority handling for older versions of sambaAmitay Isaacs2012-10-201-0/+61
| | | | | | | | | | | | | | | | | | | | | | In samba versions 3.6.x and older, database priorities are not set. later_db() function implements higher database priority (locking order) for these databases - brlock, g_lock, notify_onelevel, serverid, xattr_tdb Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit edbc8a6669b594d3c413d603e1c9fada9244c2ee)
| * locking: Schedule a new lock request everytime a lock is releasedAmitay Isaacs2012-10-201-0/+4
| | | | | | | | | | | | | | | | | | | | | | Since the number of active lock requests is limited to MAX_LOCK_PROCESSES_PER_DB (= 100), any new requests won't get scheduled when they are created. So schedule a pending request once current active request is done. Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit c8eb4a3170ab8524e638047053831ba547e9cce8)
| * ctdbd: Replace lockwait with locking API and remove ctdb_lockwait.cAmitay Isaacs2012-10-207-262/+7
| | | | | | | | | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit 2126795153dacb255e441abcb36ee05107b6282a)
| * ctdb_recover: Replace static locking functions with locking APIAmitay Isaacs2012-10-201-98/+8
| | | | | | | | | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit 4456a01d8f54ca6c771d7488048de5f638477d21)
| * ctdb_freeze: Replace locking functions with locking APIAmitay Isaacs2012-10-201-140/+18
| | | | | | | | | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit 01ee86d2aafbcda658ef6acc2bba6d6781ae4047)