summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * add two new debug controls to send and receive messagesRonnie Sahlberg2010-02-041-0/+65
| | | | | | | | | | | | ctdb msglisten and msgsend (This used to be ctdb commit 8c89aac20260dc7f3746e29fe99f17422a77cb88)
| * Drop the debug level for logging fd creation to DEBUG_DEBUGRonnie Sahlberg2010-02-049-10/+10
| | | | | | | | (This used to be ctdb commit eae1d4f9e52e73b4d8769868fffdafa590d03784)
| * tdb: fix an early release of the global lock that can cause data corruptionVolker Lendecke2010-02-021-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a bug in tdb where the tdb_brlock(tdb, GLOBAL_LOCK, F_UNLCK, F_SETLKW, 0, 1); (ending the transaction-"mutex") was done before the /* remove the recovery marker */ This means that when a transaction is committed there is a window where another opener of the file sees the transaction marker while the transaction committer is still fully functional and working on it. This led to transaction being rolled back by that second opener of the file while transaction_commit() gave no error to the caller. This patch moves the F_UNLCK to after the recovery marker was removed, closing this window. (This used to be ctdb commit 898b5edfe757cb145960b8f3631029bfd5592119)
* | eventscripts: stop loadconfig function from loading ctdb config file twice.Martin Schwenke2010-01-221-4/+3
| | | | | | | | | | | | | | | | | | If "$1" was empty than loadconfig would load the ctdb config twice. This stops that from happening. Signed-off-by: Martin Schwenke <martin@meltin.net> (This used to be ctdb commit 0406d406da70aaee7ad6aac236114905c5d03ed2)
* | eventscript: Use of $NFS_TICKLE_SHARED_DIRECTORY must be after loadconfig.Martin Schwenke2010-01-221-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | Proper fix for 085d1bea78fabf754ef6dd6d323f74a1d361e45c's workaround. $NFS_TICKLE_SHARED_DIRECTORY was being used before it is set via loadconfig. Ronnie actually spotted this one. :-) Signed-off-by: Martin Schwenke <martin@meltin.net> (This used to be ctdb commit ee8b2e298351d05197a2e1494f3331433644c1e6)
* | initscript: Remove bash-ism.Martin Schwenke2010-01-221-1/+1
| | | | | | | | | | | | | | | | | | Also, change the order of the comparison so it is consistent with others in the script. Signed-off-by: Martin Schwenke <martin@meltin.net> (This used to be ctdb commit 44696e15cdb23e7656d3bb0ead54f509495738a7)
* | Merge commit 'origin/master'Martin Schwenke2010-01-2243-332/+3756
|\| | | | | | | (This used to be ctdb commit cb00f86752d276ef0ac4dad97f7b380439603286)
| * initscript: handle spaces in option values inserted into $CTDB_OPTIONS.Martin Schwenke2010-01-221-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This puts single quotes around everything and uses eval on the command-lines that actually start ctdbd. The eval causes the single quotes to be interpreted. The "redhat" init style no longer uses the Red Hat daemon function. It loses the quoting and re-splits on spaces. Instead we add an extra line that uses the success/failure functions to keep things pretty. Note that this means that we don't respect daemon's $DAEMON_COREFILE_LIMIT variable but we do our own core file handling with $CTDB_SUPPRESS_COREFILE anyway. daemon's core file handling was probably overriding what we were doing anyway, so this can be regarded as a bug fix. Signed-off-by: Martin Schwenke <martin@meltin.net> (This used to be ctdb commit 522fbb012524fe41a67dbe43589a282dda6bcbe2)
| * onnode: update algorithm for finding nodes file.Martin Schwenke2010-01-211-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2 changes: * If a relative nodes file is specified via -f or $CTDB_NODES_FILE but this file does not exist then try looking for the file in /etc/ctdb (or $CTDB_BASE if set). * If a nodes file is specified via -f or $CTDB_NODES_FILE but this file does not exist (even when checked as per above) then do not fall back to /etc/ctdb/nodes ((or $CTDB_BASE if set). The old behaviour was surprising and hid errors. Signed-off-by: Martin Schwenke <martin@meltin.net> (This used to be ctdb commit 60aa570aaa77d293b963105b3f605f9625a4594b)
| * onnode - respect $CTDB_BASE rather than hard-coding /etc/ctdb.Martin Schwenke2010-01-211-3/+5
| | | | | | | | | | | | Signed-off-by: Martin Schwenke <martin@meltin.net> (This used to be ctdb commit 503e4908b3028330bc25dc6de8561dbd53ee6a8d)
| * config: 10.interface: search "ethtool" in $PATH instead of using a hardcoded ↵Stefan Metzmacher2010-01-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | path This is very useful for testing, I use such a script: cat ~/bin/ethtool #!/bin/sh IFACE=$1 case "$IFACE" in Neth2) ;; Neth3) ;; Neth4) ;; Neth5) ;; *) exec /usr/sbin/ethtool $@ ;; esac ip link set down $IFACE exec /usr/sbin/ethtool $@ metze (This used to be ctdb commit 3bab985cf615720eded4d47b4f9f37a9c28840aa)
| * server: reload the public addresses before doing a takeover runStefan Metzmacher2010-01-201-47/+108
| | | | | | | | | | | | metze (This used to be ctdb commit 0e41a2204fa8a1e77dc83c0d4b253ab272b5c72d)
| * server: ban ourself if the ctdb and kernel knowledge of a public ip differsStefan Metzmacher2010-01-201-2/+28
| | | | | | | | | | | | metze (This used to be ctdb commit 48e0af91113d6cead6cae3f28d8d8f610cacaa71)
| * server: give an error if we're getting an takeover_ip event with a wrong pnnStefan Metzmacher2010-01-201-0/+8
| | | | | | | | | | | | metze (This used to be ctdb commit 2f44d6f3d290cc1b37b19ec34edfbad12cc0c0a7)
| * server: return an error if we get an takeover ip event and we cannot serve ↵Stefan Metzmacher2010-01-201-3/+13
| | | | | | | | | | | | | | | | the ip metze (This used to be ctdb commit f5c221e6abc118aefa489aa7e07755af952fd2bb)
| * server: print node number as signed integer on release ip eventStefan Metzmacher2010-01-201-1/+1
| | | | | | | | | | | | metze (This used to be ctdb commit 6c456face30606641f6b8beaad3121c9b05ca763)
| * server: debug redundant takeover ip events with level INFOStefan Metzmacher2010-01-201-0/+4
| | | | | | | | | | | | metze (This used to be ctdb commit 7bc9969c4c28f2c4a4848bd730db3c63bb9204fe)
| * server: be less verbose on redundant release_ip eventsStefan Metzmacher2010-01-201-1/+1
| | | | | | | | | | | | metze (This used to be ctdb commit 72ef5f891f85ce51f5ca7e0c03d0c7cc955be110)
| * server: add a ctdb_do_updateip()Stefan Metzmacher2010-01-201-0/+142
| | | | | | | | | | | | metze (This used to be ctdb commit eded224368dded2264e53546c196b1b485cb2094)
| * server: split out a ctdb_do_takeover_ip() functionStefan Metzmacher2010-01-201-52/+82
| | | | | | | | | | | | metze (This used to be ctdb commit 8fd6f4aab0c173b4c9c4c02c546e7d2ec1a98423)
| * server: split out a ctdb_announce_vnn_iface() functionStefan Metzmacher2010-01-201-32/+44
| | | | | | | | | | | | metze (This used to be ctdb commit ec87a51660cfa8a6851923f757fed31f7ffc7153)
| * events: add updateip event to 13.per_ip_routingStefan Metzmacher2010-01-201-0/+60
| | | | | | | | | | | | metze (This used to be ctdb commit 829150e814a5e6c85d0f21421f46f41e81d74c53)
| * events: 10.interface handle updateip eventStefan Metzmacher2010-01-201-0/+57
| | | | | | | | | | | | metze (This used to be ctdb commit a5cdf1277387f8c6292153c37fa9ceb64707d04f)
| * server: add updateip eventStefan Metzmacher2010-01-204-1/+14
| | | | | | | | | | | | metze (This used to be ctdb commit 712ed0c4c0bff1be9e96a54b62512787a4aa6259)
| * config: add CTDB_PARTIALLY_ONLINE_INTERFACES to ctdb.sysconfigStefan Metzmacher2010-01-202-0/+19
| | | | | | | | | | | | | | | | | | With this option set to "yes", we don't become unhealthy as long as at least one interface is still available. metze (This used to be ctdb commit d054eb33c6ae92560cddb40732e5dcf622591a3c)
| * server: start with disabled interfaces and let the event scripts enable the ↵Stefan Metzmacher2010-01-202-2/+7
| | | | | | | | | | | | | | | | | | | | | | interfaces explicit This makes sure that we don't get public addresses assigned during the initial recovery and remove them again in the startup event. metze (This used to be ctdb commit f872e8c63a2f8979e6a0d088630575bdd4d7b4f1)
| * config: 10.interfaces call monitor_interfaces on startupStefan Metzmacher2010-01-201-0/+8
| | | | | | | | | | | | metze (This used to be ctdb commit 615dec051c26aac628f120e96bf12fb39fc6d28a)
| * config: 10.interfaces call ctdb ifaces and ctdb setifacelink for monitoringStefan Metzmacher2010-01-201-1/+46
| | | | | | | | | | | | metze (This used to be ctdb commit c465f63585c419ba59a6b04cbbf78ae615a7259d)
| * events: splitout a monitor_interfaces function in 10.interfaceStefan Metzmacher2010-01-201-45/+64
| | | | | | | | | | | | metze (This used to be ctdb commit b5ba56dea57db97d6c6ba3e7582e74fe0e3041fc)
| * server: monitor interfaces in verify_ip_allocation()Stefan Metzmacher2010-01-201-0/+30
| | | | | | | | | | | | metze (This used to be ctdb commit 965a65520693e3731b5b0250127b04c777087808)
| * server: only trigger one takeover run in verify_ip_allocation()Stefan Metzmacher2010-01-201-26/+19
| | | | | | | | | | | | metze (This used to be ctdb commit 10bc087d0280057962177721bdd6d4f28743b311)
| * tools/ctdb: add PartiallyOnline state for "ctdb status" and "ctdb status -Y"Stefan Metzmacher2010-01-201-3/+41
| | | | | | | | | | | | | | | | This is based on the GET_IFACES control against each node. metze (This used to be ctdb commit 38cb972382a09f830673277d0a9bd5d20deafff2)
| * tools/ctdb: display interfaces in "ctdb ip" and "ctdb ip -Y" outputsStefan Metzmacher2010-01-202-7/+72
| | | | | | | | | | | | metze (This used to be ctdb commit dffa2b05acce8b73c2fdd085311732bf57f01b7f)
| * tests: add a all_ips_on_node() helper function that wraps ctdb ip -YStefan Metzmacher2010-01-204-7/+14
| | | | | | | | | | | | metze (This used to be ctdb commit c24fbea156dfdc9154e94eace725526e44cbcdac)
| * tests/simple/11_ctdb_ip.sh: be more strict in checking ctdb ip -Y outputStefan Metzmacher2010-01-201-4/+13
| | | | | | | | | | | | metze (This used to be ctdb commit 27bde04966e22975777b4034dbaccfe158369110)
| * tools/ctdb: add "ctdb ipinfo <ip>"Stefan Metzmacher2010-01-201-0/+53
| | | | | | | | | | | | metze (This used to be ctdb commit e05e236fc019bfd3b316609a7c190e0e028a4bbc)
| * tools/ctdb: add "ctdb setifacelink <iface> <status>"Stefan Metzmacher2010-01-201-0/+50
| | | | | | | | | | | | metze (This used to be ctdb commit 8d0c00b60db69bd10f12da4c676e1142dc37af7a)
| * tools/ctdb: add "ctdb ifaces"Stefan Metzmacher2010-01-201-0/+44
| | | | | | | | | | | | metze (This used to be ctdb commit 80053d09eed967fb76898f4a53437bed2b43a02f)
| * server: implement ctdb_control_set_iface_link()Stefan Metzmacher2010-01-201-1/+51
| | | | | | | | | | | | | | | | | | | | | | | | This only marks the interface status and doesn't generate any directly triggered action. The actions is later taken by the recovery process in verify_ip_allocation. metze (This used to be ctdb commit cff58b27c970e9252d131125941c372019fd6660)
| * server: implement ctdb_control_get_ifaces()Stefan Metzmacher2010-01-201-1/+30
| | | | | | | | | | | | metze (This used to be ctdb commit 0e982a416a126d9856145c19baef320cd0e71d66)
| * server: implement ctdb_control_get_public_ip_info()Stefan Metzmacher2010-01-201-1/+62
| | | | | | | | | | | | metze (This used to be ctdb commit 486fbd15f4cc4f45a4c110b2ddbba48bade22c9f)
| * client: implement ctdb_ctrl_set_iface_link()Stefan Metzmacher2010-01-201-1/+18
| | | | | | | | | | | | metze (This used to be ctdb commit e2d6582001be28c1800e4da8b0f2dc541538c314)
| * client: implement ctdb_ctrl_get_ifaces()Stefan Metzmacher2010-01-201-2/+57
| | | | | | | | | | | | metze (This used to be ctdb commit a21e3765dd83e837d93111f387448bf0a5dd4652)
| * client: implement ctdb_ctrl_get_public_ip_info()Stefan Metzmacher2010-01-201-2/+61
| | | | | | | | | | | | metze (This used to be ctdb commit 4efab41dfa61d5c7951c583d584df3455ee9c704)
| * controls: add stups for GET_PUBLIC_IP_INFO, GET_IFACES and SET_IFACE_LINK_STATEStefan Metzmacher2010-01-204-0/+109
| | | | | | | | | | | | metze (This used to be ctdb commit a2c9e4578e149eccb2c6183f64a6b657eb95c5e1)
| * server: use CTDB_PUBLIC_IP_FLAGS_ONLY_AVAILABLE during a takeover runStefan Metzmacher2010-01-203-11/+32
| | | | | | | | | | | | | | | | | | | | | | We know ask for the known and available interfaces. This means a node gets a RELEASE_IP event for all interfaces it "knows", but doesn't serve and a node only gets a TAKE_IP event for "available" interfaces. metze (This used to be ctdb commit a695a38e49e7c3e15a9706392dc920eeab1f11ba)
| * server: implement CTDB_PUBLIC_IP_FLAGS_ONLY_AVAILABLE behaviorStefan Metzmacher2010-01-201-4/+39
| | | | | | | | | | | | metze (This used to be ctdb commit 09a5c59bc8d1301edf60d7ae77504dc6d11a7da2)
| * client: add CTDB_PUBLIC_IP_FLAGS_ONLY_AVAILABLE ctdb_ctrl_get_public_ips_flags()Stefan Metzmacher2010-01-202-6/+26
| | | | | | | | | | | | metze (This used to be ctdb commit 6bd780510058e5589f2f7c3722d37acbba4935ab)
| * reserve upper bits in ctdb_control->flags for opcode specific flagsStefan Metzmacher2010-01-201-0/+1
| | | | | | | | | | | | metze (This used to be ctdb commit 91122c322fbec08138b92c528d9a946f6727b4fd)
| * server: keep the interface information in a list of ctdb_iface structuresStefan Metzmacher2010-01-202-12/+188
| | | | | | | | | | | | metze (This used to be ctdb commit ff5291778f0752e176539397e9530dcf0e546bea)