[SCM] CTDB repository - branch master updated - d5eaddff89ab3a5f75b2db7708ebbce5a0d213a5
Andrew Tridgell
tridge at samba.org
Wed Feb 3 20:47:31 MST 2010
The branch, master has been updated
via d5eaddff89ab3a5f75b2db7708ebbce5a0d213a5 (commit)
via 4232cfcbb730b9af2b693a518000693b7b4de90d (commit)
via 4274e07ed22f63c473d484a8d9345473b0aa9afd (commit)
via c3eec8f10764a647106087099eeb47b7196f7aac (commit)
via 59ba5d7f80e0465e5076533374fb9ee862ed7bb6 (commit)
via 8c89aac20260dc7f3746e29fe99f17422a77cb88 (commit)
via eae1d4f9e52e73b4d8769868fffdafa590d03784 (commit)
via 898b5edfe757cb145960b8f3631029bfd5592119 (commit)
via 522fbb012524fe41a67dbe43589a282dda6bcbe2 (commit)
via 60aa570aaa77d293b963105b3f605f9625a4594b (commit)
via 503e4908b3028330bc25dc6de8561dbd53ee6a8d (commit)
via 3bab985cf615720eded4d47b4f9f37a9c28840aa (commit)
via 0e41a2204fa8a1e77dc83c0d4b253ab272b5c72d (commit)
via 48e0af91113d6cead6cae3f28d8d8f610cacaa71 (commit)
via 2f44d6f3d290cc1b37b19ec34edfbad12cc0c0a7 (commit)
via f5c221e6abc118aefa489aa7e07755af952fd2bb (commit)
via 6c456face30606641f6b8beaad3121c9b05ca763 (commit)
via 7bc9969c4c28f2c4a4848bd730db3c63bb9204fe (commit)
via 72ef5f891f85ce51f5ca7e0c03d0c7cc955be110 (commit)
via eded224368dded2264e53546c196b1b485cb2094 (commit)
via 8fd6f4aab0c173b4c9c4c02c546e7d2ec1a98423 (commit)
via ec87a51660cfa8a6851923f757fed31f7ffc7153 (commit)
via 829150e814a5e6c85d0f21421f46f41e81d74c53 (commit)
via a5cdf1277387f8c6292153c37fa9ceb64707d04f (commit)
via 712ed0c4c0bff1be9e96a54b62512787a4aa6259 (commit)
via d054eb33c6ae92560cddb40732e5dcf622591a3c (commit)
via f872e8c63a2f8979e6a0d088630575bdd4d7b4f1 (commit)
via 615dec051c26aac628f120e96bf12fb39fc6d28a (commit)
via c465f63585c419ba59a6b04cbbf78ae615a7259d (commit)
via b5ba56dea57db97d6c6ba3e7582e74fe0e3041fc (commit)
via 965a65520693e3731b5b0250127b04c777087808 (commit)
via 10bc087d0280057962177721bdd6d4f28743b311 (commit)
via 38cb972382a09f830673277d0a9bd5d20deafff2 (commit)
via dffa2b05acce8b73c2fdd085311732bf57f01b7f (commit)
via c24fbea156dfdc9154e94eace725526e44cbcdac (commit)
via 27bde04966e22975777b4034dbaccfe158369110 (commit)
via e05e236fc019bfd3b316609a7c190e0e028a4bbc (commit)
via 8d0c00b60db69bd10f12da4c676e1142dc37af7a (commit)
via 80053d09eed967fb76898f4a53437bed2b43a02f (commit)
via cff58b27c970e9252d131125941c372019fd6660 (commit)
via 0e982a416a126d9856145c19baef320cd0e71d66 (commit)
via 486fbd15f4cc4f45a4c110b2ddbba48bade22c9f (commit)
via e2d6582001be28c1800e4da8b0f2dc541538c314 (commit)
via a21e3765dd83e837d93111f387448bf0a5dd4652 (commit)
via 4efab41dfa61d5c7951c583d584df3455ee9c704 (commit)
via a2c9e4578e149eccb2c6183f64a6b657eb95c5e1 (commit)
via a695a38e49e7c3e15a9706392dc920eeab1f11ba (commit)
via 09a5c59bc8d1301edf60d7ae77504dc6d11a7da2 (commit)
via 6bd780510058e5589f2f7c3722d37acbba4935ab (commit)
via 91122c322fbec08138b92c528d9a946f6727b4fd (commit)
via ff5291778f0752e176539397e9530dcf0e546bea (commit)
via 080ba5ac2195fb73ef6f18740abdde57a7b97151 (commit)
via f9837f8b6f887d28f29aeb3eeffe8cfb423b40b4 (commit)
via 33a00ef7233051acdbc66410130ec5d876a8422f (commit)
via 9e5532e215892b2e0aadd9b106a730727f92c62e (commit)
via 400b4806c4a9686a2ee6398b5d7c3e0ca0793fd1 (commit)
via ff5678fbec2daef461143acf00cef3f94d7655fc (commit)
via ff9c641763702ae99632bbf4d0825d578440c074 (commit)
via e02417b2a55c45ac2c125b1b3463c9c39e7bc07a (commit)
via 24cd42769d8f32b90a8876a6a08a36ab23076cd1 (commit)
via 2397f13d7b5ca3847ef148187c6b179d06f6a47a (commit)
via e953808449c102258abb6cba6f4abf486dda3b82 (commit)
via 37d11895e96ba8bc8c9ba159083970c45f76d9bb (commit)
via e366e77ba170d2c27110c56004ae1adf97abef9e (commit)
via 8171d66f0061fe23ed6dfef87ffe63bfc19596eb (commit)
via 9d39ada437b02d84b70a5fea78b61bbb32f16d81 (commit)
via 4b4dd5d7f81bf226e05c7f3d40087043da1517a2 (commit)
via 18af37e99ef8ff5623161495be432abfe5e3407f (commit)
via 898894d3acbcc0add2ab0706a3172a446622f687 (commit)
via 49f0488a5e60c74b6b8361dffcd09ebb2db740f0 (commit)
via 085d1bea78fabf754ef6dd6d323f74a1d361e45c (commit)
via 037e64e1900f09e699d5fce50df2850f26f47f91 (commit)
via c79c2da69bc352f509e7fca4b9172a4b7f23c0f8 (commit)
via 4bcb07c412260147cd926452287885d05b2344c1 (commit)
via 4cc9c79bfced9efa0d3817021512c86ed2fa3516 (commit)
via 608e0765130aa9bca0aa77db5a888c413867a3fd (commit)
via acb98c36a3d56fa6b34747015b913ada3eaa133f (commit)
via 64ae8b0702cfdc44a778e0cc3705dd685f9f6ab0 (commit)
via b70021856e76df1ba407c83cfc19bf332fbfc869 (commit)
via 178f429a7b6d1008d35e857b6ca1df6adb60d255 (commit)
via bb9fc8b4388848863fa2b8735bd77eb07b7b5849 (commit)
via 484ae893f2179bebd0e2a2efe5f9619a39e48227 (commit)
via eb22c34bccc8a04fcf63efa2bc48d9788709382e (commit)
via 2c84fe393ff2b961abf77d58a371c24db5ecb93b (commit)
via 82e1c5231c389bea935328a08ecf9b0b3a3979ef (commit)
via d9105ea79df198a20c2bfe471c4793d1dbba886e (commit)
via f319bd54369a2bc7d32c3bda7fc22f2ef1a51c3a (commit)
via 859e18db681dabe0990793d03f58e59a061aa8bb (commit)
via 843a2ed5ef85f628788b0caf7417c6b61b5c6d3f (commit)
via 7101ae80bf4e530f48e31e4c58707aa45a9fd3d5 (commit)
via 140070dd81b39545fe2d56f70e9b9c96bfdae07f (commit)
via 99894a70fe2ebfe43daae7e88ff0fc9cab33e0fb (commit)
via 5d50f0e16948d18009f6623f132113f7273efc7f (commit)
via b4365045797f520a7914afdb69ebd1a8dacfa0d9 (commit)
via 82f778e85440bc713d3f87c08ddc955d3cfce926 (commit)
via 482c302d46e2162d0cf552f8456bc49573ae729d (commit)
via 2ee86cc1f311d7b7504c7b14d142b9c4f6f4b469 (commit)
via 82421f20dcad4b0e25f109583879a26c0ee9c465 (commit)
via 1717836f4f36c4e2b6bd82b6b78e2325b2a458ab (commit)
via e3825407a509110c786d618efcdfa56ba93380a5 (commit)
via 0d1300aa2325c94d8fb1c3cf8d454e5eee43dde9 (commit)
via 33ec6943fb2d01b6df0ce4515d37c671b18d237f (commit)
via 9b4c76973a8cf03ddc1a9b3777a350f739c00892 (commit)
via a90f3dd25a22f9b8777ff6946ce1721859e9479a (commit)
via bf48ae41ef5fb8e4675be448d13db522465d8d72 (commit)
via 8e6b8be51fd1bda789675650a94df0115ee9e238 (commit)
via c09acd0896089a612ee3a1e78711abd98bd9cc99 (commit)
via 3cdb8be02acc23074c8137a54faea62fee4567a0 (commit)
via fce390194dadb4961b46c706a1826442eef8c63d (commit)
via fc5f556d488488040303438aefecb5ae2a8e54bc (commit)
via 52e6d81f4d8a4035272d9256d01bafb8ed593027 (commit)
via 504cf78d00d1120b556124340b9312f890b8b8b9 (commit)
via 45cfcd44093c7d2681e2ffd5cfb402823e8809f4 (commit)
via ecf799093c1989f5499c9d61ce8cc8a98d759160 (commit)
via c63a0368d9d4b526ac1e49d891d3a1b7b8d20320 (commit)
via 1cdc8dbb9cb971cf6dd6cd22b1adaf70ddc77e65 (commit)
via d1b10b0c0c323c39742a18e98a1dab7e82ddc7be (commit)
via 910c19f12448d293a755d1eb46d20f9591f8da7a (commit)
via c34535ff4dc6a44909283641596e0ed7c2316fbd (commit)
via 5abe44d0113839d3a45c9a31d30856aa70c2ea1f (commit)
via 7332d900538f0cbcd953a723417a0fe31dc9807c (commit)
via 15f133d5150ed1badb4fef7d644f10cd08a25cb5 (commit)
via d874463235fa299e83fe562291c688aca3b85cf3 (commit)
via 49d2dca9ad837e1b397294fb0e966bf0b77f751c (commit)
via cbda4666be88c11a810a192a70667b57f773ace1 (commit)
via 21677ed6fb8c589f348321533c608cad58c4ec93 (commit)
via 1db17f312558fe59983a3465680e56c9f0c19e36 (commit)
via 92e05282d6c4f16e55d914cc3bde3738ea2d44ad (commit)
via f30f33685db50860b6cd6fd1b6bdc3066620a78f (commit)
via 656a6ec5ed81ccfbb86144156a3158e48f105ee4 (commit)
via 6529a1328b9ec304ad306674651b2a67e4426e23 (commit)
via 10d95581fb90bfdf58ec32345c4e36c27acf4f37 (commit)
via 1635e931b909c66eb3b1f5357e3a549b1a0da70d (commit)
via 093f57a2c00f2d629a3b58e58202f1a7e1bbd406 (commit)
via d1873bd81bfc9f486b88f3a38c65c7de8f5a0909 (commit)
via 04aeac728f56c65b973762f09977de1b1b99099e (commit)
via c1c0ede32dc00ed619d1cf5fda40a9de43995f3a (commit)
via 855391c1e37012b0d6c673a304bb8da8a1efcd72 (commit)
via 6126f04bd4982b66564dcccd92a15baf9cb856f3 (commit)
via 7a88f1df9190674deaf5dcbedad02ae4120a5263 (commit)
via 03372b4ea8ba2938468a5c0fc234d604966ce070 (commit)
via f5c992bdaeb73ef726ff4728a9922721474cd6f5 (commit)
via 76aacdd8e1106f26565e25903091a757b59cd7e2 (commit)
via 470750fa2e3cf987f10de48451b1ee13aab03907 (commit)
via 03b3682e3fa53c9f5fdf2c4beac8b5d030fd2630 (commit)
via 6ac7ef8bf4d384f880c7f483ace70f8e08c15a8b (commit)
via df1a3ce0380fa9d8722b2f9b16f65557095e4c83 (commit)
via 27611d6a0c313732e438cb24c82b9de126e50156 (commit)
via 1d5c5a221c28f1dc652a80ed516a0f18ba588d9f (commit)
via c40d14b1b7ba7c9ae40c0306a2e552504e0f92a6 (commit)
via 5652e403be099f35cdd29fda8ba4fe2c35de8035 (commit)
via da47169c4d3bc1b446b49610d892df05638e912c (commit)
via 4130c5dd10869b071124e2bf04d6807bbb11ab1f (commit)
via e7242221c3318a5c312e17ff4074bef80b639ca8 (commit)
via 52f78e040749d24058ee1f575d949b57d15f5987 (commit)
via 3a671b11770057c91e0ae646499d4714f52bc5c0 (commit)
via 2231ee0aa163d68383dd9636f25f033fe7c1f3e7 (commit)
via 363c34d4bb488609317794cd3153d85c12643110 (commit)
via 236dc2fa29b3c0caec51859dbd469f0a13f5917e (commit)
via 5aa0ab328c36ecd4d7ec03f921e6027340c2ef13 (commit)
via b02bf7659f04f1fa203834bd75a2392b48e56c16 (commit)
via 5d4cc4b018a538dc3f1d79fe091f3e6e67003daf (commit)
via 923b61fe722c0aec8a5b6ac8dd1df74957dc102b (commit)
via cd23d36ada9631095ca68663516de0c8d8c3bbed (commit)
via 3d44412593b8748a5158e15b83cd9eb548231194 (commit)
via f7278a277ed91587cae5b5e3660dad7124bdb73f (commit)
via a6620f6e74aadc708395b21b42303d1082192fcc (commit)
via b01b756cb577f32a1ec4597efb00017241e01685 (commit)
via 43c97b259b19c42b4edc7f83dbfc5e486568b4e3 (commit)
via c1b8d32b4ef87b9d8f37b451f47fcee2ea753d21 (commit)
via e4d49c182e12c2d429d0414209cc2c8ccc19dc91 (commit)
via 94f5728a77b8c772fb16c4744c24b45de8016e52 (commit)
via 5830a2427b84e1cce74390b58fe12c45b5a056a6 (commit)
via 463279c972fa4538919bdd1dff48ca6b2fb8d49c (commit)
via 35a5b874b925380f7c227e47aebb590c9db4739e (commit)
via dc287a7d7420cca0b104049e689a73202bc535f8 (commit)
via 02b35ba77672727c96ad004be37c7f6f1d3fe474 (commit)
via 5ef5ddb8369e5e76173285fe9a08498dc8dc73ab (commit)
via ef1dc585d869a9e48164cd65bafc92c1da245007 (commit)
via 0ae735b7a2096a40e5e47086ec41d9d45ef6d36b (commit)
via 2e69647404c87c438ae7c180277ac3b532941efd (commit)
via 37225f1ed3f70d7259c2af2c51c671105c34476a (commit)
via 66fffa577e051212ac7541be906b6c80f4a7c0c9 (commit)
via 310d673b7cb9000d76437d78e43bc2bf133e4e14 (commit)
via f70e371d70e334a7254649b2bb09aa382e6f09bb (commit)
via 9d5015e6fc68d3eb9e7b7178dbaf8c129dc79471 (commit)
via efa4a795db7fb2bddaab3969850d1554fc5f4da1 (commit)
via 724d71dc838750fff91a45359feeb6e71bf0a4c7 (commit)
via 141422d9dc24b15b7b8bc7831adab90367a729f7 (commit)
via aed864dceaf6ec1e6e6066a587c708b485901200 (commit)
via eebd467961dad6cfb38c2a5d6e4b4dbf86e55e63 (commit)
via 6f8614de0f20d4c507aecd744d9c3f6545078127 (commit)
via 2d768f664e6db65b3b7e0c732f33ee2b806892f9 (commit)
via b883d19a495a41a22db37f9c2cf6250fee529de0 (commit)
via b765e12a5fb87a6121e49b349017b6a961929346 (commit)
via 6ed34d5320c39d8a55f2a36ad4c1ab574e0b0796 (commit)
via bcf494b81f4277dc75f05faccf0c446bd15f6e2b (commit)
via 3d2d877d877146ca09a28a3a44f4840eb36fd377 (commit)
via ac06a0e042e7d024060d6e87a49bda9ccc072c52 (commit)
via 24767be2eb9aed29704c2a4097bab5466cb6728f (commit)
via 340be0179f55acfff77f8c3c8be958679227bde1 (commit)
via ea9e39369379939abf6a4076fa2014c10c1a9ad0 (commit)
via 211ea7907e8e96041aa6f7d086551d64d065a8a3 (commit)
via 5c8e56fc7a518e115bceac257867739283cf6a1e (commit)
via 401f421fa003d9515df15e759b50b56e0c67d69c (commit)
via 1b4e7bb548976b99f122142b040494b6f9911962 (commit)
via 0ea0e27d93398df997d3df9d8bf112358af3a4a5 (commit)
via 68a8ee99b128a5ec883600735626bdb3bbc9c503 (commit)
via c5a0aef668a63f927d6184612b13ce316eb4a0be (commit)
via 5736e17c139c9a8049e235429aeae0c6c9d0e93d (commit)
via 844aa6300ee4d87561e698001ebc15ac1e455528 (commit)
via 78ca29352aa39f4ef4e41096b92d55cb2e0d348a (commit)
via a7e3b5fac6b3f5d74473f26eb86c067b35647996 (commit)
via 4b1dbcf0853bdc4832d39a477823ae34f216da52 (commit)
via 1640da1cab7e8b545367824204c82931f3346848 (commit)
via 6af5e74a21546d723008d69d6752ebebf898c947 (commit)
via f66428f9d2013080a414404c1ba6117888352fd6 (commit)
via af6656f2844d8fd72204a70358c9d589dbe1bd34 (commit)
via 59f46d7261dfdbdef900bf95dd9eb28ad22a46b2 (commit)
via b022863d44026c19d5aae54aa485b670bea0540e (commit)
via 9ac82311d796e1fab31f8de62b8ccc754445093c (commit)
via 2ff2679e8f3d50ebf735f2c420898a84268bdc95 (commit)
via c13077ca64f6e6569c30ef7fcb044e5711dce1a3 (commit)
via c46adb210e47530488503e20d682d4d182c0fb79 (commit)
via 54d227811753f4a87f1a2c9dc0b1389f5ca2a12f (commit)
via 7f64a00c76203fdf6673c3f862a4bfd17fb848d7 (commit)
via a78b8ea7168e5fdb2d62379ad3112008b2748576 (commit)
via 142111983c103e90ccccbe26fd580c4eb28e949f (commit)
via dccb549fd6a6e338063699544e52f2a1a6a966b5 (commit)
via 6e8b279ed307eccac08386e98510361ba3ab3d36 (commit)
via 8cc6c5de3d7abb0b72eaa6e769e70963b02d84cb (commit)
via 03b5bbaae1b53830a4cd20d3079ab8f45ffce923 (commit)
via 7b73834ba3ac197cc8a3020c111f9bb2c567e70b (commit)
via 9b90d671581e390e2892d3a68f3ca98d58bef4df (commit)
via 53bc5ca23ca55a3ac63a440051f16716944a2a51 (commit)
via 93153bca68926401dc9ae7fd77ed3f17be923344 (commit)
via 47ffe75848f216568ce3db0a60ca88cfe3d6903a (commit)
via c1ba1392fe52762960e896ace0aca0ee4faa94d5 (commit)
via c73ea56275d4be76f7ed983d7565b20237dbdce3 (commit)
via 4cf1b7c32bcf7e4b65aec1fa7ee1a4b162cac889 (commit)
via fd2f04554e604bc421806be96b987e601473a9b8 (commit)
via f5cb41ecf3fa986b8af243e8546eb3b985cd902a (commit)
via e9661b383e0c50b9e3d114b7434dfe601aff5744 (commit)
via 76e8bdc11b953398ce8850de57aa51f30cb46bff (commit)
via c476c81f3e3d8fc62f2e53d82fce5774044ee9ce (commit)
via b2a300768536d10bd867a987ad4cf1c5268c44bc (commit)
via 32cfdc3aec34272612f43a3588e4cabed9c85b68 (commit)
via 497766cf186442de00fb324343150442457be858 (commit)
via 391926a87a7af73840f10bb314c0a2f951a0854c (commit)
via 814704a3286756d40c2a6c508c1c0b77fa711891 (commit)
via 0fafdcb8d3532a05846abaa5805b2e2f3cee8f47 (commit)
via 020fd21e0905e7f11400f6537988645987f2bb32 (commit)
via 9a2b4f6b17e54685f878d75bad27aa5090b4571f (commit)
via 0d925e6f2767691fa561f15bbb857a2aec531143 (commit)
via bfee777faff75e9bed4aedc1558957483616a6d3 (commit)
via 816b9177f51ae5b21b92ff4a404f548fe9723c96 (commit)
via e6488c0e05bab5c4c2c0a6370930b0b27e5ed56e (commit)
via 9ecee127e19a9e7cae114a66f3514ee7a75276c5 (commit)
via a305cb7743c24386e464f6b2efab7e2108bb1e7e (commit)
via 024386931bda9757079f206238ae09bae4de6ea2 (commit)
via 1269458547795c90d544371332ba1de68df29548 (commit)
via ec36ced9446da7e3bf866466d265ee8e18f606c1 (commit)
via 5d894e1ae5228df6bbe4fc305ccba19803fa3798 (commit)
via eadf5e44ef97d7703a7d3bce0e7ea0f21cb11f14 (commit)
via 0a53d6b5ac81daf0efa32f35e7758ede2a5bdb63 (commit)
via 8ddb97040842375daf378cbb5816d0c2b031fa65 (commit)
via 76a0ca77feba14e1e1162c195ffbdf516e62aa4d (commit)
via 0eb1d0aa14e68b598d9e281c8a02b8f94a042fd9 (commit)
via 6be931266a4e41fd0253f760936ad9707dd97c47 (commit)
via fff280878e670e93a818c0071f3172056214e8c4 (commit)
via 7c95e56ba871a4e0cb893a5cb5d821e7ff6e6dd6 (commit)
via b796d736946856abfbe53de95dfcd73072ee8ccd (commit)
via d971b2ca84c0451dc7e5acbf4a5ade06270a2044 (commit)
via 59faf3f923a5989b5ee94ef02a12827412775bae (commit)
via c23d804165e84bdf95ba960c953c736d361011d7 (commit)
via 428914377851a98b3fc893798783fbfebffc1c0d (commit)
via 03a5bb727b9db1ba952632f08ceb5355f0df842d (commit)
via 8aef46d2aab3efb322dda51eaa202653cefd5222 (commit)
via e5496a83ef4a01604195b27c4b97f50d4979510e (commit)
via fe68972eb9cf3aa1f16ba1aacf57ade5d66e647c (commit)
via 90abc4ac7c16e854cf6e8f96b60a77bc92e35e07 (commit)
via 4113385865f53a57b18ea752a7dad8a08bed588e (commit)
via b9882710e12f28c96a0af298e419160f00578241 (commit)
via 574702f8d701fe3e493b31948420b2981eb36f93 (commit)
via 41aa9bdfa2934f564bdc14374362437dfad0045f (commit)
via 5a7c1e7f15693522bbf1c39a53be2304ece9a134 (commit)
via 0e130d79ab71cf3aa65c40af91866823246a0283 (commit)
via 5fc297a6bd49d9366703eef3edb9bdf0fe8505cc (commit)
via cc99c05c0c6484ad574039a454e6133852cb41fa (commit)
via c5cbb95512f034abeec515579983bf7ac55eadd9 (commit)
via 0a0526e03ef995b6b6634f5b75c7a17cb7b5df8f (commit)
via 17fa252d0d6981fbae8083a818f26d5ce9c5102e (commit)
via 2027cf3881ba890648c543bacbfd5b06464efc10 (commit)
via de9e5236b20d70eac5ed29991703d6d25a103963 (commit)
via 157807af72ed4f7314afbc9c19756f9787b92c15 (commit)
via f75d379377f5d4abbff2576ddc5d58d91dc53bf4 (commit)
via b4a7efa7e53e060a91dea0e8e57b116e2aeacebf (commit)
via 22f00368b4cb3a6bfb92033a7dbe693d31b41a54 (commit)
via 4d0523dd94fb07e860b3e8118691f93d1ef8d0fa (commit)
via b5a21fd39269a6e2a9d1c8182dd42a1773ccbb3f (commit)
via 9ea261f791ab919eb1ce5b37073b4f1d30694bb8 (commit)
via 83e7c161efa93cd7acdfc803142b4fb3bfde7538 (commit)
via bc8aee079e09164e06533a1474f5e9d899795933 (commit)
via bb8d02abd88899d259085b9b23fa52accb222be9 (commit)
via 4c6e68ae942c05224c5f8b683fbc2dc1adced8ee (commit)
via 3d55408cbbb3bb71670b80f3dad5639ea0be5b5b (commit)
via 4f50aa8bb8be544058523f2f544109a26c2b3b51 (commit)
via 821333afb458358f90446062b0242790695e5060 (commit)
via e9b3477a5b9a2eff18f727e7d59338bfb5214793 (commit)
via a1f37fdc5217e57d2d643d77a811afca747685e0 (commit)
via 16db4882635d84b8410a77e2ea8b08d0a257b0ab (commit)
via 50c2caed57c0520f506eaaeeb0bba2c272da6ef6 (commit)
via 937823cc73eb098230acff4b1583f6d01f26c21a (commit)
via 0e6c06ac38fd82adf124d111717502055501974a (commit)
via c278c798d41a35f58ca81f8f0e08e4dab51eba9b (commit)
via 28d0648725e7de4e4d0e8569e3fbfb0fa1d7f934 (commit)
via 143f1fa3cc4588505e3992c601153ea08be8432d (commit)
via a1d654a982ca56fade82552f4e6b5586236d3233 (commit)
via d3e7407dc9854ec358d081777c5450ec68b17862 (commit)
via 12b187f971d857353403393a9850503e0e558672 (commit)
via a2830594ebeb54eb51ff90999cb12370aeec6e8b (commit)
via 517e9d9b188b18dffc712a8fecddb41540d27b8d (commit)
via 5d97c07be13a8209a81dfc8f73e49371949e4dc3 (commit)
via 3c93336ab92c2e4829ff4dc360045bfa6df21d50 (commit)
via 862526e558099fad4c8259cb88da9b776aa7f80d (commit)
via 1d24a3869fe89fc9a109fd9e9b69df5fc665a5f6 (commit)
via 10a3680fb3917ecafc824e73872eace321026172 (commit)
via 2e60749de3714239224cc04170a9aeeee158153f (commit)
via 66b22980b14601f29fe8cc64bd8f29883c7ca1c0 (commit)
via 83b7b233cb4707e826f6ba260bd630c8bc8f1e76 (commit)
via a6d353519932eee48f9241ad8887b692882906c9 (commit)
via 33fb0e7ba047ca73969b59bccf70a04a17c25a0a (commit)
via b0648c7f08eba87ec3c9714e2525c9b621bfb4ef (commit)
via 6c79fa33e26cc4f0873577f8e122b1495b4c427e (commit)
via 834c93b3e1b8f4151b8a2cd82c2dd8bacc17f66c (commit)
via 8001488be4f2beb25e943fe01b2afc2e8779930d (commit)
via 470822b329f9d3ca9bef518b56e9ce28d5fedda2 (commit)
via 533c3e053293941d2a9484b495e78d45f478bb08 (commit)
via fe8027309c1f7b987cd368fa98f9b28741baa786 (commit)
via 466beafadb37011fe273de8810ab0012e92a1fd8 (commit)
via e7d57d7ae678b24dab3364a348838c6a3398942c (commit)
via b90bdb07c1f6913ddbf11bde9684bdc8af61c549 (commit)
via 20b15de068d042b292725945927ceda1b01d07c0 (commit)
via 6804f880436645b52c09a78fa300377fa8058d0e (commit)
via defbe318152fc479e8076ad70433cdb4971951af (commit)
via c715746c2f40eb9b21dbf011d16f1f1b0b53fdf9 (commit)
via fbc453733d53359b9eba34a7ca9123237a7ecca5 (commit)
via c5f798116bf3b7954e23c7267b056ee1f5560f45 (commit)
via 35a60a63a9b5c7d98dde514ae552239506b691c9 (commit)
via f1e350f9edb74cc44b6c5be4c062fd93e98ba8c4 (commit)
via ac655b0a65b32d809d47fec9821f7f31bb2fe2a7 (commit)
via c4b05a731e1bee8f5b46529773a4f5389b2b6064 (commit)
via 5fdf842db09cd806248cdbdce2270f39ed213872 (commit)
via 80a8d728e9680040e00d24361dfc9367dd372a56 (commit)
via 6427f0b68d60b556a023f64e15e156000ba6f943 (commit)
via 29d2ee8d9c6c6f36b2334480f646d6db209f370e (commit)
via 354c0edacf2d6cec5b295e139d4fec618bad1b06 (commit)
via cb8df973ccd446d87fbdd9a27843e54841ba5d89 (commit)
via 364e70b763f0ccd7714d15723ad3ea4d7e2968a1 (commit)
via 1908bac812650ca25151051f5d86815e0b8ed319 (commit)
via b6bde176af69354ccfb00e6a3169f6b355a59d15 (commit)
via 20a9d35933d89dc7eb710075f360686a49d78609 (commit)
via ffb911896704ddf6bd5a66e43ba2ae8c382e68de (commit)
via 6ccb495d1110157c06596763c7e252f3182c251e (commit)
via 5e13a25df5ccf184bd48595c99765a592bbc5969 (commit)
via 8001ae580bcc28d45f6026b529d7ffc247cbba34 (commit)
via e8e7129ff1371065fbd75e1aea844d6d04a96fa9 (commit)
via eda052101728cf922ce892e3c53b4f37e7ceac42 (commit)
via b7dc1e0720991cc65353e07cf87608acea21ba27 (commit)
via 1a3ecdee85b82bb3234a92ae6bcdeb92238eb7ee (commit)
via 1cbf06a126621b3e932925cdad2ef9c009f93d4e (commit)
via 058e21d96c3c02759833fd5ddfe7b43e6a5f5740 (commit)
via bf50709630df000583f2b0ef0edc177c01d60eaf (commit)
via 9e1b99221c8f257129641f6eda2795537b7ce9de (commit)
via 020e2e30e56b9675f345ee62d6bf585396208059 (commit)
via fb83dba255fc91413a475b273e374e0c4d538137 (commit)
via 209ff041596e39688186c99995863ed3e816b8e4 (commit)
via f98fefbc566eefbfcc660646af6e25256ab82b13 (commit)
via a5d90d8ed8b44355c4ffb9c32ded772025fcc174 (commit)
via 825c506da76d7afd0714b75b8c8727874183a618 (commit)
via b95524c08bf12914120cb6c818ecc1c99738fe37 (commit)
via 9e4902c7d3ad1329c296f4196fcb1396f2a7a6a0 (commit)
via c1d8496f9fd5e8046f3d990264258dfb054f3b32 (commit)
via 9ffd54b73c0d64b67e8e736d7cb54490e77ffa78 (commit)
via 1446f4c247310e2ff2d522055bd8927d1a78d017 (commit)
via 48ac5c77698ab7a28d24629cc8a6985011c5d14d (commit)
via d7b9babda2f7c7f7b95ee19ec75c37200816c6ef (commit)
via 2febdd23f754a2d4699bed36b941442ab362a376 (commit)
via 3be446434adb0f3095ac0ef4b7c4a6258780b863 (commit)
via 11fefd02e6c9531ffb28b9e6acaf42ba39757d87 (commit)
via ab9657b5a66d5665e6c5fd1bf8eb4074a3bffeec (commit)
via 0fb9573d1c838b436ab9be83e197b68f35f94acb (commit)
via 0df012d58eb83195ea0365be19e0566dbc394a66 (commit)
via 6b47ea111867c845974aa2687a658ebca2854816 (commit)
via cb432e30351d5e5a41e98da3c7b1c2a4d400a3a2 (commit)
via 4892222ffb255dccd8ced1cb047f199386bb3e98 (commit)
via 8ab1349feb64a91cb500c130ea299e2182491f06 (commit)
via a6fbc65aca35c41c428a82d7402e43c6eaac1d6e (commit)
via 363e7e939ad46b3f75c83c30d4163d63876c2456 (commit)
via 0c9b0466fd87b3f1e5d53f867c863217802ac43b (commit)
via 467da12a785ba3367ed9cbdf79440394e9703289 (commit)
via cb36bbb5418290e8e5b770d2d836285b15da2a6f (commit)
via 22712c577f64ec84851b4addcf4a46c7e99e0662 (commit)
via 3b0d44497800a16400d05a30bdaf6e6c285d4b36 (commit)
via 9560f8b7fe0f7ee0386a87c2653333071050fe4b (commit)
via 02ee9dfd3c6b09f5c5172a7e38738c20b7f0aecd (commit)
via 813cfd7c625ac8af4ef169cc92fb6d69f66004c9 (commit)
via 8d430ae6968dfe566614379436fc3c56003fcd88 (commit)
via 47b67077bdfa64938bb0fa6d1ca8f56fbd5c960e (commit)
via 325de818f88f339a16dc4544e899a2d735933c44 (commit)
via 8d5cb2586a1d5a0255cc18295430927b914d4527 (commit)
via fa34e8a5d588026029dca949151697817fe7f127 (commit)
via 64da4402c6ad485f1d0a604878a7b0c01a0ea5f0 (commit)
via 39642e745254d93d74dde907787503854fe6ca4a (commit)
via 6a1f7a7b1b3a0b8f89998db8fdad83bbb4e9b5a5 (commit)
via 4037b6e73a819a8e2463dfe0959b42875e05e106 (commit)
via 227fe99f105bdc3a4f1000f238cbe3adeb3f22f0 (commit)
via cc30ee2f4f33cb75b2be980c2d4dff6c7c23852f (commit)
via a10fc51f4c30e85ada6d4b7347b0f9a8ebc76637 (commit)
via 20678e1506db1f96b58c326ee91339e797c07c22 (commit)
via a244b75ee49556b0ff51e254cc812594ee3b23a7 (commit)
via 8ec633b64a05a2d903c2b9639909f15f6375548f (commit)
via 440e870d61267054b24404bcb69e599226353949 (commit)
via 752a9c81de97be509de7e7feddde749cc5ee22a8 (commit)
via 11193e1e192bee6f579bdf1303153571a82711d7 (commit)
via 331c6e3afd96d8b5e191153a631efdbdabb6ea33 (commit)
via e79c3bcead7bd4bfb74d0aec81908da71551c107 (commit)
via ab4a6a58fb002ec29c19d167800e47987b023fe4 (commit)
via db250cad7c92c1cc0a690725a4e39531a2e1b7fd (commit)
via 496dc2e80b714811c6e69dc928deaad61cf603b1 (commit)
via f1b6ee4a55cdca60f93d992f0431d91bf301af2c (commit)
via 0785afba8e5cd501b9e0ecb4a6a44edf43b57ab0 (commit)
via 38d7487bc68c8cf85980004aceeef24ae32d6f36 (commit)
via 514a60c57557042e463efeff53dd11b9fec40561 (commit)
via 14fca8383b6b1da49278a9181a975543b956161b (commit)
via f3e09f2cfd33e79e69fc8c84ce4781a31a7a0437 (commit)
via 431f79f7c9038ebd95d27c2465207ca40b8f4f23 (commit)
via e01ab46bafad09a5e320d420734db129d35863bc (commit)
via 27296a47b3d057a6729287acf128b2b67775ecde (commit)
via 5b70fa8cfd5916d3c212823ad5cc1b251ae175ed (commit)
via 61282d4a9be9e544aaa86f3cffc5b58e417f5ab1 (commit)
via 8264c42969d4be7fc6c5b4d56f8b5ef7c62b3bfb (commit)
via 25e82a8a667a54c6921ef076c63fdd738dd75d19 (commit)
via befabc917edb036ca81f5216f65a6d62b26ee83e (commit)
via 87146db2769c2ec494813685bf9cec0d2a6336c3 (commit)
via f76d6fed8f9630450263b9fa4b5fdf3493fb1e11 (commit)
via ead97cabeb1e0b73bff9d45f8aec8b226769ee9f (commit)
via 0a4d409baabf242a87c06293789d589c896b104c (commit)
via 1a09b02767f3928d3c5db0e0afc59bb938e4a445 (commit)
via 3997d7e5471810e9a2f145ce2e795073dfc5eded (commit)
via 6ef4364b3349145b2fec23e0431cd6df6dcadd41 (commit)
via a4aac7312947aa3b26bc26993f04b586c64f18cb (commit)
via f50d64a8ac91415ca297216d2103ff940076f02b (commit)
via 2b478b0f5f09dd06626592573f053706ac637edd (commit)
via 11137bc2d492a62a26ec9f9f62ff362e81643f66 (commit)
via 1f906bd3476e7cebf217e35b5477d6a7bb615a0c (commit)
via 02862c086d045497f49f3c060700419815d607e7 (commit)
via 54f9c314a0354f1039208fe6ac7dc159b6db8750 (commit)
via 2e9fc6f0609833c6d8146196011ef780669d615d (commit)
via b3ae2b753261443dca317803752a9d61285a3270 (commit)
via 27d152a918680a59c7412aec7e1772f25b72d469 (commit)
via 97ded8a629ec762f71bad28515e4fbc810790b1d (commit)
via 02f68dc60e0b7bf26d631850b12834d5c71a88f2 (commit)
via 454125ccfda04aa6b4e14f5c05164d29f41a0ead (commit)
via 5ad283458e59ea8232e01f34be007901c10c8a2e (commit)
via bf5402b41282da94fee1ab3e4546ec089ff12f37 (commit)
via ff824676fab94168707aada7423ae766bc0f711c (commit)
via f5e9f3007c10a937158bc8cdfabf33c984cf9c50 (commit)
via ddd089810a14efe4be6e1ff3eccaa604e4913c9e (commit)
via ef992a64d2376b621d4d2973ae22e567158aee12 (commit)
via 82fad66123c1b8c5d4ed3b19c39acf6f367b3f37 (commit)
via 536229fd120bc3fdc2419e22d3bd6ab243dd6667 (commit)
via a3406c10d70f89d332eab25d481083142dff987d (commit)
via e62928f56ce8927b1d8686db2c31538c86462d1a (commit)
via 46474e5f21fd97dd765c616647ff46055a9970e7 (commit)
via eb854f65f978f24583e221138eb4f9b917b89285 (commit)
via 3807681e74f4bfe92befdae6ed616ff5f1a99880 (commit)
via 343c005367789e108c0320e95d7a264535d68dd8 (commit)
via f6e39d35713475defaa08a623e194f3f2f8f7d53 (commit)
via 70e7781df1f118a0e2632a9c634f3fd388fa6c8c (commit)
via 346fa055f4106497b87df97da5ebd6e51fa1ef8c (commit)
via 3501d6b70bd905d6fdc4e74fe2cedc3ba77e4b86 (commit)
via 5974b5f7998ef96aeadb7377f32ef1ab85bb5943 (commit)
via c1d7c11978d27d2ee41a2129b31d9ab61a43f8da (commit)
via 5f14874c5c705dd637f88a77f30c930fea1201d2 (commit)
via b2ce8b900a7d00944c84e0574fea5b371064a06d (commit)
via eb1fecaef9aa5cb85dff7d4f7af8a9878deabed8 (commit)
via 318abeb4b913a8d846e7eaf4cf5c2a67b61ce974 (commit)
via 46194e87e189521375b39b4ef33da2b493429fd8 (commit)
via e8d692590da1070c87a4144031e3306d190ebed2 (commit)
via 0cb3d33caa42ed783e03bc825b181dde4cf63616 (commit)
via 465dc95fef0ff6651ff49fa94e4cf2ebd1036ac4 (commit)
via ca6d045e419f308f57e74d4c978907afb05ddb85 (commit)
via 67741c0ee01916d94cace8e9462ef02507e06078 (commit)
via dd122351efaeef5475cdec111eb900110d83ec35 (commit)
via 687535b51622d1fac7ccb38fa640bf1febd69fd8 (commit)
via 5cb4d63bf6887d15aba37fafc3f6b6ba38027f13 (commit)
via f72d33ac73ebb1af802bacdfb30279df3cd8b8f9 (commit)
via e77bf5708df6782b4516f698b9981a1d27e2f10b (commit)
via deed52b7e4aac94b4d11a8d89d08739e1dfd4ed7 (commit)
via 7d91de8a837a12082c343980428153720dcad741 (commit)
via 22f0065cd6b66fa0f623f465aaca98883955ac79 (commit)
via 789703ea684717781c176fd3a2a24d96abde220b (commit)
via 9c63858c0b22c81eaccb9865a414af0bbb2833d4 (commit)
via 3befe5526e147d49451fddc930aaafc3dbe2e9c1 (commit)
via 9d95dfbd12898975ba0d8560d95a974210d3de7c (commit)
via be52954d921e7d443304cf49fbd488c619a9c4ec (commit)
via 804e5905be51f43c8a338bfbe216fd8d5718850f (commit)
via e8df6fc301fb7faf72c72eb39ea68d44d1526b00 (commit)
via 9ffb0d08d34cbafed0e49350a3a72b15d92c8ea7 (commit)
via c1c0ebb8da9a6c29ee83868a311f07f30cb4ed16 (commit)
via 9b206d96da3341836cc25aee5693f551f6f3a80e (commit)
via 23ae9e9863ea90c6fb3f105403fd098041fa73f4 (commit)
via 4e9a3a5dc232bac12ab387ea0cf4f1b279bed5c1 (commit)
via d1d370033d5007ad1c2c34cd9eeac53001f4b13e (commit)
via b77e4698e7f83443243965f93b84237f2903cd46 (commit)
via b1fe04f2e9447f762a0b805763deb29296585ff8 (commit)
via fe26da7780545b1ecc0a7da5bc1cf8beaeea94cc (commit)
via cfe63636a163730ae9ad3554b78519b3c07d8896 (commit)
via 803cfb4cd2f6d139f466053a6d7e104fcb772ef5 (commit)
via d1332f4d5d3d3e4b4e0cd362a6903d09e0d5fcbb (commit)
via 95a3ee551241aa164967991fe5efe078e1714bde (commit)
via 096cdc0c12d22d99f8405bee5cb9f05c616c8492 (commit)
via 6e35feb06ec036b9036c5d1cdd94f7cef140d8a6 (commit)
via 2cb04747887674def299e574fccb827c1c3194e7 (commit)
via 5e7dc36f1649824db2f9dab34bede8b388502a57 (commit)
via a083a1976d621c76121f1fa2c2f484cfa47267bd (commit)
via edb58a417bfeb094cbbbf96caec8e2918256dad9 (commit)
via db7195d762f69577c4e28f0b0e0ded0ac7f91f0b (commit)
via f66d17fb2e81a35d5adb3754e1cc902f76b4590a (commit)
via 4364419a486c1995bea56dab603cc4960e7c8e7a (commit)
via 74e416108df6934f45ca646d709785dd76ab3c35 (commit)
via 84e5a55a900b01903b80e23045edfc726d8d77a1 (commit)
via 0e6a52ee66830e7742eaa392cd3dd9caeb808fb3 (commit)
via 3085170be8460e59996a3eee4e29fec9ddbcf0f8 (commit)
via 03b0d913ae009284e2fadda1b9246ec77d19db29 (commit)
via db7b96304e4725f29b12398b7582e385daed63ed (commit)
via 4f7b39a4871af28df1c4545ec37db179fa47a7da (commit)
via 1ae3a40705e14efcc24f558cd4d677932765c4fd (commit)
via b5410e7be0525e6e5cd49ccebc7bbc57086f3cb2 (commit)
via 5624da65d3fad1905c9f93a9e41a90b98ad692d2 (commit)
via 31216fd48117526c943e42d137ce24ef89fa0009 (commit)
via a2aaef03d4d6bbd4b42f50f732254935d4d3469c (commit)
via 407b3117dfc1072117abf681ec98b9e252d8744c (commit)
via 7bf9fff9139a4270496bddb97f9433bab87824bf (commit)
via e5ba8e1a832c223496ad72209ce1d3203cdaa2d7 (commit)
via b060911683d8ac201806d35a505867fe3ba9519f (commit)
via 4899a888d4e2c31b4bd7220f3cd8936168942e61 (commit)
via f7a326b560b12f8b46c01d98cdd460e5510c67fb (commit)
via 0310a6b17d6167c46482a07c6cd96bcabda6ffbc (commit)
via 13b81b6c8e01aa52a31756ecffa797a4761115db (commit)
via 4fad47c1af8503385b090be281ffbd284021279c (commit)
via 7a6134e684c9ac4763bf198ef1410867b6082c94 (commit)
via 12e14a09dd28ed005c8eb8fca7cd38a96aab938e (commit)
via e978b274a6af94ea7734675243ec65c5b17a583d (commit)
via affa6f47432507e84b7e76b88a2c27fff8e6e2e4 (commit)
via 8903b858ddd3a016d9cf765187839814443a67ca (commit)
via f6cf586d8f6384e48215b7d2c20fb83e98504878 (commit)
via fb47cce86c0edae5caaf485f13ae7a151b6cb00d (commit)
via 10ebeb215e7260186dab8f4f2403c48db9df9a00 (commit)
via f76132b0d555e52ee0a379ec2c156350b37b0280 (commit)
via 46823aa7c673bc18a1424500b3f01da9c2dd6333 (commit)
via 77574b7d7fe11c8e73957a80845481f3b2a64219 (commit)
via b869bb0e32d32422a5ba6b235864acba07f2b412 (commit)
via 0c4c2240267af183d54ffd4c0aacda208f6eff6a (commit)
via 7a95257a5ec19f232f661bc7f797051bf08ab776 (commit)
via e1d709f32196e19d4041ee2958e143791762e08f (commit)
via e26d9d32e68e7db1cf4f96c47c0126e9e0b213be (commit)
via 54c047c48902a15e5d2925bfa86e012a11188796 (commit)
via cd65d8acb97aa9f83ff0d0585bf09caef2d2f3eb (commit)
via 9bceef2b13fe9560ca02a266ce5a1fbbcef3af22 (commit)
via 448cd8db1305c1e6dfab323f92eac4a576596e4e (commit)
via 85590e9dfaab0db16ce8103e509fd4d51aef4ad5 (commit)
via 8ed4fa0eb09238952044645b72234185e498a40c (commit)
via fbfa1c72875dda4d1636d8e72c67ba09b10455df (commit)
via e5b25e1386294b1f800c32fb01c69c3c3ce85c26 (commit)
via d8d21884736a9610d48cf532e1c6778e511fb7a8 (commit)
via 49de8429d2a996dc055370541a12ea36762abe94 (commit)
via 5852a526ce7d0333cd1f9a05353d8920ea99db37 (commit)
via 7e799b7523c9699bd65a8a8207f7e03d668b0b81 (commit)
via 0e9c3e0cf76dd33a24241f02709e56bc330f009a (commit)
via a42dbdb7b9ccf3ce2aed48aa33f1cd3af2e94fe3 (commit)
via 836b95f32724cf37e4f643f20653f78842613692 (commit)
via c513a31d755003d7af91529790b06ce0d226c90f (commit)
via 875778fbbfd6b0f09fd2db76f7348ad6271350a3 (commit)
via a0ad69197b4771f3d5be23d78d0933d732405f08 (commit)
via afafab0ac6cac90c3f8614204b5b6df92e446728 (commit)
via 64405bdbebb2ddf0ae980e958ede77df79139000 (commit)
via 8f48e37c254e0852d4e2dea54b905ce5ef2b925d (commit)
via 8d0d432ab7766d9c0f9868fd77e48b9b5cc5d9f9 (commit)
via 8b6a5bba93843cd83b7b386b82949ad88f29884a (commit)
via 6de2823f5f7976d4efa20761e518d6b67753f054 (commit)
via ce19658ba13272238058e9b9bc03e62f48b737c0 (commit)
via e72974e5cefabc7035399d16633f727f868caa61 (commit)
via 233c52bfb087f636ad61e95c12616c02901f4f83 (commit)
via fe3ceb101a5a9c336973c2c6c31406bd8181c2fe (commit)
via e03980add02a28609a7a0a0c87ebc85419b98144 (commit)
via 5253a0ba3a34fbf5810f363ecc094203d49e835f (commit)
via aa22d1875b1997664af983c0baeabe34e40dd253 (commit)
via 4c3dac215a088947f645f727343997f5d47e3260 (commit)
via 9a251078f22aea15b9ca37393e0b5e2740aa21fb (commit)
via abf4540bfb06de56b0a7b5976b5f1b2a24a8743d (commit)
via f9b71757f034732647228d4b8a8f00528028b6b0 (commit)
via c53353c6402f378f29200313d82f1f9262d628b1 (commit)
via 878437a909ea44dfc3635f082e34741ee256e505 (commit)
via 8fcc4610de926f44e18ec85fb57ca5f7d3c28bd6 (commit)
via b7787255391eddef8458f81ff9b75d9116e2afd3 (commit)
from 32a69b0efa078b069802470be6488a4efe32961d (commit)
http://gitweb.samba.org/?p=tridge/ctdb.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit d5eaddff89ab3a5f75b2db7708ebbce5a0d213a5
Author: Andrew Tridgell <tridge at samba.org>
Date: Thu Feb 4 14:36:14 2010 +1100
ctdb: when we fill the client packet queue we need to drop the client
We can't just drop packets to the list, as those packets could be part
of the core protocol the client is using. This happens (for example)
when Samba is doing a traverse. If we drop a traverse packet then
Samba hangs indefinately. We are better off dropping the ctdb socket
to Samba.
commit 4232cfcbb730b9af2b693a518000693b7b4de90d
Author: Andrew Tridgell <tridge at samba.org>
Date: Thu Feb 4 14:14:18 2010 +1100
ctdb: move ctdb_io.c to use TLIST_*() macros
This will make large packet queues much more efficient
commit 4274e07ed22f63c473d484a8d9345473b0aa9afd
Author: Andrew Tridgell <tridge at samba.org>
Date: Thu Feb 4 14:13:49 2010 +1100
util: added TLIST_*() macros
The TLIST_*() macros are like the DLIST_*() macros, but take both a
head and tail pointer for the list. This means that adding an element
to the end of the list is efficient (it doesn't need to walk the
list).
We should move all uses of the DLIST_*() macros which use
DLIST_ADD_END() to use the TLIST_*() macros instead.
commit c3eec8f10764a647106087099eeb47b7196f7aac
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Feb 4 10:03:21 2010 +1100
When trying to enable/disable a node.
Check if the node is already enabled/disabled and log an information
message if so.
commit 59ba5d7f80e0465e5076533374fb9ee862ed7bb6
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Feb 4 09:54:06 2010 +1100
We only queued up to 1000 packets per queue before we start dropping
packets, to avoid the queue to grow excessively if smbd has blocked.
This could cause traverse packets to become discarded in case the main
smbd daemon does a traverse of a database while there is a recovery
(sending a erconfigured message to smbd, causing an avalanche of unlock
messages to be sent across the cluster.)
This avalance of messages could cause also the tranversal message to be
discarded causing the main smbd process to hang indefinitely waiting
for the traversal message that will never arrive.
Bump the maximum queue length before starting to discard messages from
1000 to 1000000 and at the same time rework the queueing slightly so we
can append messages cheaply to the queue instead of walking the list
from head to tail every time.
commit 8c89aac20260dc7f3746e29fe99f17422a77cb88
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Feb 4 09:45:32 2010 +1100
add two new debug controls to send and receive messages
ctdb msglisten and msgsend
commit eae1d4f9e52e73b4d8769868fffdafa590d03784
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Feb 4 06:37:41 2010 +1100
Drop the debug level for logging fd creation to DEBUG_DEBUG
commit 898b5edfe757cb145960b8f3631029bfd5592119
Author: Volker Lendecke <vl at samba.org>
Date: Fri Jan 29 18:21:09 2010 +0100
tdb: fix an early release of the global lock that can cause data corruption
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.
commit 522fbb012524fe41a67dbe43589a282dda6bcbe2
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Jan 22 13:19:00 2010 +1100
initscript: handle spaces in option values inserted into $CTDB_OPTIONS.
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 at meltin.net>
commit 60aa570aaa77d293b963105b3f605f9625a4594b
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Jan 21 13:40:03 2010 +1100
onnode: update algorithm for finding nodes file.
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 at meltin.net>
commit 503e4908b3028330bc25dc6de8561dbd53ee6a8d
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Jan 21 13:16:18 2010 +1100
onnode - respect $CTDB_BASE rather than hard-coding /etc/ctdb.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 3bab985cf615720eded4d47b4f9f37a9c28840aa
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jan 18 13:05:54 2010 +0100
config: 10.interface: search "ethtool" in $PATH instead of using a hardcoded 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
commit 0e41a2204fa8a1e77dc83c0d4b253ab272b5c72d
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Jan 19 08:42:48 2010 +0100
server: reload the public addresses before doing a takeover run
metze
commit 48e0af91113d6cead6cae3f28d8d8f610cacaa71
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jan 18 15:04:32 2010 +0100
server: ban ourself if the ctdb and kernel knowledge of a public ip differs
metze
commit 2f44d6f3d290cc1b37b19ec34edfbad12cc0c0a7
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jan 18 15:38:01 2010 +0100
server: give an error if we're getting an takeover_ip event with a wrong pnn
metze
commit f5c221e6abc118aefa489aa7e07755af952fd2bb
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jan 18 15:08:15 2010 +0100
server: return an error if we get an takeover ip event and we cannot serve the ip
metze
commit 6c456face30606641f6b8beaad3121c9b05ca763
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jan 18 15:12:46 2010 +0100
server: print node number as signed integer on release ip event
metze
commit 7bc9969c4c28f2c4a4848bd730db3c63bb9204fe
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jan 18 15:22:16 2010 +0100
server: debug redundant takeover ip events with level INFO
metze
commit 72ef5f891f85ce51f5ca7e0c03d0c7cc955be110
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jan 18 15:04:32 2010 +0100
server: be less verbose on redundant release_ip events
metze
commit eded224368dded2264e53546c196b1b485cb2094
Author: Stefan Metzmacher <metze at samba.org>
Date: Sat Jan 16 15:01:17 2010 +0100
server: add a ctdb_do_updateip()
metze
commit 8fd6f4aab0c173b4c9c4c02c546e7d2ec1a98423
Author: Stefan Metzmacher <metze at samba.org>
Date: Sat Jan 16 13:30:58 2010 +0100
server: split out a ctdb_do_takeover_ip() function
metze
commit ec87a51660cfa8a6851923f757fed31f7ffc7153
Author: Stefan Metzmacher <metze at samba.org>
Date: Sat Jan 16 13:20:45 2010 +0100
server: split out a ctdb_announce_vnn_iface() function
metze
commit 829150e814a5e6c85d0f21421f46f41e81d74c53
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 21 08:45:19 2009 +0100
events: add updateip event to 13.per_ip_routing
metze
commit a5cdf1277387f8c6292153c37fa9ceb64707d04f
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 21 08:40:50 2009 +0100
events: 10.interface handle updateip event
metze
commit 712ed0c4c0bff1be9e96a54b62512787a4aa6259
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 21 08:33:55 2009 +0100
server: add updateip event
metze
commit d054eb33c6ae92560cddb40732e5dcf622591a3c
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 21 14:02:03 2009 +0100
config: add CTDB_PARTIALLY_ONLINE_INTERFACES to ctdb.sysconfig
With this option set to "yes", we don't become unhealthy
as long as at least one interface is still available.
metze
commit f872e8c63a2f8979e6a0d088630575bdd4d7b4f1
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 21 19:18:10 2009 +0100
server: start with disabled interfaces and let the event scripts enable the 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
commit 615dec051c26aac628f120e96bf12fb39fc6d28a
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Dec 22 15:25:30 2009 +0100
config: 10.interfaces call monitor_interfaces on startup
metze
commit c465f63585c419ba59a6b04cbbf78ae615a7259d
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Dec 22 15:25:30 2009 +0100
config: 10.interfaces call ctdb ifaces and ctdb setifacelink for monitoring
metze
commit b5ba56dea57db97d6c6ba3e7582e74fe0e3041fc
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 14 11:59:45 2009 +0100
events: splitout a monitor_interfaces function in 10.interface
metze
commit 965a65520693e3731b5b0250127b04c777087808
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Dec 22 15:21:08 2009 +0100
server: monitor interfaces in verify_ip_allocation()
metze
commit 10bc087d0280057962177721bdd6d4f28743b311
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Dec 22 15:21:08 2009 +0100
server: only trigger one takeover run in verify_ip_allocation()
metze
commit 38cb972382a09f830673277d0a9bd5d20deafff2
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 21 13:30:45 2009 +0100
tools/ctdb: add PartiallyOnline state for "ctdb status" and "ctdb status -Y"
This is based on the GET_IFACES control against each node.
metze
commit dffa2b05acce8b73c2fdd085311732bf57f01b7f
Author: Stefan Metzmacher <metze at samba.org>
Date: Sat Jan 16 10:36:35 2010 +0100
tools/ctdb: display interfaces in "ctdb ip" and "ctdb ip -Y" outputs
metze
commit c24fbea156dfdc9154e94eace725526e44cbcdac
Author: Stefan Metzmacher <metze at samba.org>
Date: Sat Jan 16 10:35:41 2010 +0100
tests: add a all_ips_on_node() helper function that wraps ctdb ip -Y
metze
commit 27bde04966e22975777b4034dbaccfe158369110
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Jan 15 10:53:14 2010 +0100
tests/simple/11_ctdb_ip.sh: be more strict in checking ctdb ip -Y output
metze
commit e05e236fc019bfd3b316609a7c190e0e028a4bbc
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Dec 17 11:23:59 2009 +0100
tools/ctdb: add "ctdb ipinfo <ip>"
metze
commit 8d0c00b60db69bd10f12da4c676e1142dc37af7a
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Dec 16 17:02:23 2009 +0100
tools/ctdb: add "ctdb setifacelink <iface> <status>"
metze
commit 80053d09eed967fb76898f4a53437bed2b43a02f
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Dec 16 16:50:23 2009 +0100
tools/ctdb: add "ctdb ifaces"
metze
commit cff58b27c970e9252d131125941c372019fd6660
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Dec 17 10:30:36 2009 +0100
server: implement ctdb_control_set_iface_link()
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
commit 0e982a416a126d9856145c19baef320cd0e71d66
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Dec 16 11:14:44 2009 +0100
server: implement ctdb_control_get_ifaces()
metze
commit 486fbd15f4cc4f45a4c110b2ddbba48bade22c9f
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Dec 16 11:20:28 2009 +0100
server: implement ctdb_control_get_public_ip_info()
metze
commit e2d6582001be28c1800e4da8b0f2dc541538c314
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Dec 16 16:18:36 2009 +0100
client: implement ctdb_ctrl_set_iface_link()
metze
commit a21e3765dd83e837d93111f387448bf0a5dd4652
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Dec 16 15:30:07 2009 +0100
client: implement ctdb_ctrl_get_ifaces()
metze
commit 4efab41dfa61d5c7951c583d584df3455ee9c704
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Dec 16 16:23:08 2009 +0100
client: implement ctdb_ctrl_get_public_ip_info()
metze
commit a2c9e4578e149eccb2c6183f64a6b657eb95c5e1
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Dec 16 14:40:21 2009 +0100
controls: add stups for GET_PUBLIC_IP_INFO, GET_IFACES and SET_IFACE_LINK_STATE
metze
commit a695a38e49e7c3e15a9706392dc920eeab1f11ba
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Dec 16 16:09:40 2009 +0100
server: use CTDB_PUBLIC_IP_FLAGS_ONLY_AVAILABLE during a takeover run
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
commit 09a5c59bc8d1301edf60d7ae77504dc6d11a7da2
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Dec 16 16:08:45 2009 +0100
server: implement CTDB_PUBLIC_IP_FLAGS_ONLY_AVAILABLE behavior
metze
commit 6bd780510058e5589f2f7c3722d37acbba4935ab
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Dec 16 15:50:06 2009 +0100
client: add CTDB_PUBLIC_IP_FLAGS_ONLY_AVAILABLE ctdb_ctrl_get_public_ips_flags()
metze
commit 91122c322fbec08138b92c528d9a946f6727b4fd
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 21 12:10:18 2009 +0100
reserve upper bits in ctdb_control->flags for opcode specific flags
metze
commit ff5291778f0752e176539397e9530dcf0e546bea
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Dec 16 10:39:40 2009 +0100
server: keep the interface information in a list of ctdb_iface structures
metze
commit 080ba5ac2195fb73ef6f18740abdde57a7b97151
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Dec 16 09:48:21 2009 +0100
server: we don't need to copy strings we pass as talloc_asprintf() arguments
metze
commit f9837f8b6f887d28f29aeb3eeffe8cfb423b40b4
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 21 08:39:21 2009 +0100
events: 10.interfaces allow multiple interfaces per public address
metze
commit 33a00ef7233051acdbc66410130ec5d876a8422f
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 14 18:52:06 2009 +0100
server: allow multiple interfaces comma separated in public_addresses
metze
commit 9e5532e215892b2e0aadd9b106a730727f92c62e
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Dec 16 08:54:02 2009 +0100
server: add a ctdb_vnn_iface_string() helper function to access vnn->iface
metze
commit 400b4806c4a9686a2ee6398b5d7c3e0ca0793fd1
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 14 19:33:35 2009 +0100
server: add a ctdb_set_single_public_ip() helper function
metze
commit ff5678fbec2daef461143acf00cef3f94d7655fc
Author: Stefan Metzmacher <metze at samba.org>
Date: Sat Dec 19 18:26:01 2009 +0100
config: add 13.per_ip_routing event script
With this script it's possible to generate routing tables
per public ip address.
metze
commit ff9c641763702ae99632bbf4d0825d578440c074
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Dec 11 19:56:36 2009 +0100
config: add some ipv4 helper shell functions
Many thanks to Michael Adam <obnox at samba.org>
for the basic work.
metze
commit e02417b2a55c45ac2c125b1b3463c9c39e7bc07a
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Jan 20 11:10:48 2010 +0100
config: add interface_modify.sh and call it under flock to make modification on interfaces atomic
When two releaseip events run in parallel it's possible that the 2nd script
readds a secondary ip that was removed by the 1st script.
metze
commit 24cd42769d8f32b90a8876a6a08a36ab23076cd1
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Dec 18 11:08:22 2009 +0100
events/10.interfaces: move some parts to helper functions
metze
commit 2397f13d7b5ca3847ef148187c6b179d06f6a47a
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Dec 18 09:43:20 2009 +0100
config/functions: add tickle_tcp_connections()
metze
commit e953808449c102258abb6cba6f4abf486dda3b82
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Jan 19 10:07:14 2010 +0100
server: add "init" event
This is needed because the "startup" event runs after the initial recovery,
but we need to do some actions before the initial recovery.
metze
commit 37d11895e96ba8bc8c9ba159083970c45f76d9bb
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Jan 7 09:21:56 2010 +0100
server: setup fault handler to get the build-in backtrace support
The panic action feature will be added later.
metze
commit e366e77ba170d2c27110c56004ae1adf97abef9e
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Jan 12 12:17:00 2010 +0100
lib/util: add pre and post panic action hooks
metze
commit 8171d66f0061fe23ed6dfef87ffe63bfc19596eb
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Dec 18 12:32:38 2009 +0100
lib/util: import fault/backtrace handling from samba.
metze
commit 9d39ada437b02d84b70a5fea78b61bbb32f16d81
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Dec 18 12:14:28 2009 +0100
configure: don't overwrite AC_CHECK_FUNC_EXT and AC_CHECK_LIB_EXT
This has curently no affect on the generated configure and config.h.in files.
metze
commit 4b4dd5d7f81bf226e05c7f3d40087043da1517a2
Author: Stefan Metzmacher <metze at samba.org>
Date: Sat Dec 19 11:40:06 2009 +0100
move DEBUG* macros to one place
metze
commit 18af37e99ef8ff5623161495be432abfe5e3407f
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 21 13:34:21 2009 +0100
tools/ctdb: display INACTIVE status in "ctdb status" and "ctdb status -Y"
metze
commit 898894d3acbcc0add2ab0706a3172a446622f687
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Jan 19 08:38:53 2010 +0100
server: add missing goto again after do_recovery()
metze
commit 49f0488a5e60c74b6b8361dffcd09ebb2db740f0
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jan 18 13:19:29 2010 +0100
lib/events: finish "Run only one event for each epoll_wait/select call"
This finished commit a78b8ea7168e5fdb2d62379ad3112008b2748576.
The logic was missing in events_standard (the one that's used by default).
metze
commit 085d1bea78fabf754ef6dd6d323f74a1d361e45c
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jan 20 10:35:02 2010 +1100
source the nfs sysconfig file from the 61.nfstickles script
commit 037e64e1900f09e699d5fce50df2850f26f47f91
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Jan 15 16:01:51 2010 +1100
document the in-memory ringbuffer for logging and the commands
used to set it up and manage it.
commit c79c2da69bc352f509e7fca4b9172a4b7f23c0f8
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Jan 15 15:38:56 2010 +1100
Make the size of the in memory ringbuffer for keeping the recent log messages
configureable using --log-ringbuf-size=<num-entries>.
Add an entry in the sysconfig file to set this persistently.
commit 4bcb07c412260147cd926452287885d05b2344c1
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jan 13 07:12:08 2010 +1100
new version 1.0.113
commit 4cc9c79bfced9efa0d3817021512c86ed2fa3516
Merge: 64ae8b0702cfdc44a778e0cc3705dd685f9f6ab0 608e0765130aa9bca0aa77db5a888c413867a3fd
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Jan 13 07:01:40 2010 +1100
Merge commit 'metze/master-for-ronnie'
commit 608e0765130aa9bca0aa77db5a888c413867a3fd
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Jan 7 13:29:09 2010 +0100
server: call event_add_fd at the end of ctdb_set_child_logging()
metze
commit acb98c36a3d56fa6b34747015b913ada3eaa133f
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Jan 7 13:47:46 2010 +0100
ctdb_logging: simplify ctdb_fork_with_logging a lot and reduce the syscall usage
metze
commit 64ae8b0702cfdc44a778e0cc3705dd685f9f6ab0
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Jan 12 21:07:45 2010 +1100
New version 1.0.112.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit b70021856e76df1ba407c83cfc19bf332fbfc869
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Jan 12 21:02:44 2010 +1100
Revert "Use wbinfo --ping-dc isntead of wbingo -p sicne this is a more reliable way to determine if winbindd is in a useful state."
This reverts commit 7c95e56ba871a4e0cb893a5cb5d821e7ff6e6dd6.
wbinfo --ping-dc is proving too unreliable.
commit 178f429a7b6d1008d35e857b6ca1df6adb60d255
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Jan 12 21:02:11 2010 +1100
Revert "events/50.samba: only use wbinfo --ping-dc if available"
This reverts commit 7b73834ba3ac197cc8a3020c111f9bb2c567e70b.
wbinfo --ping-dc is proving too unreliable.
commit bb9fc8b4388848863fa2b8735bd77eb07b7b5849
Merge: 82e1c5231c389bea935328a08ecf9b0b3a3979ef 484ae893f2179bebd0e2a2efe5f9619a39e48227
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Jan 7 12:46:26 2010 +1100
Merge commit 'origin/master'
commit 484ae893f2179bebd0e2a2efe5f9619a39e48227
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Dec 18 15:16:04 2009 +1100
New version 1.0.111
commit eb22c34bccc8a04fcf63efa2bc48d9788709382e
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Fri Dec 18 14:13:09 2009 +1030
eventscript: fix bug when script is aborted
Another corner case when we terminate running monitor scripts to run
something else: logging can flush the output and we write to a NULL
pointer.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 2c84fe393ff2b961abf77d58a371c24db5ecb93b
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Fri Dec 18 13:54:40 2009 +1030
eventscript: remove cb_status, fix uninitialized bug when monitoring aborted
(Reapplied with merge after accidental revert)
Previously we updated cb_status a each script finished. Since we're storing
the status anyway, we can calculate it by iterating the scripts array
itself, providing clear and uniform behavior on all code paths.
In particular, this fixes a longstanding bug when we abort monitor
scripts to run some other script: the cb_status was uninitialized. In
this case, we need to hand *something* to the callback; 0 might make
us go healthy when we shouldn't. So we use the last status (normally,
this will be the just-saved current status).
In addition, we make the case of failing the first fork for the script
and failing other script forks the same: the error is returned via the
callback and saved for viewing through 'ctdb scriptstatus'.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 82e1c5231c389bea935328a08ecf9b0b3a3979ef
Merge: d9105ea79df198a20c2bfe471c4793d1dbba886e 859e18db681dabe0990793d03f58e59a061aa8bb
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Dec 18 14:44:25 2009 +1100
Merge commit 'origin/master'
commit d9105ea79df198a20c2bfe471c4793d1dbba886e
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Dec 18 14:43:45 2009 +1100
Test suite: Add an optimisation in the getvar test.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit f319bd54369a2bc7d32c3bda7fc22f2ef1a51c3a
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Dec 18 14:42:58 2009 +1100
Test suite: allow settign of timeout triggers for all events not just monitor.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 859e18db681dabe0990793d03f58e59a061aa8bb
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Dec 18 12:32:58 2009 +1100
Version 1.0.110
commit 843a2ed5ef85f628788b0caf7417c6b61b5c6d3f
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Fri Dec 18 11:54:24 2009 +1030
eventscript: fix cleanup path when setting up script list
We shouldn't set ctdb->current_monitor until we set destructor: that's
what cleans it up.
Also, free state->scripts on no-scripts exit path: it's not a child of
state because we need it in the destructor.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 7101ae80bf4e530f48e31e4c58707aa45a9fd3d5
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Dec 17 13:04:27 2009 +0100
server: add set_close_on_exec() on more fds
metze
commit 140070dd81b39545fe2d56f70e9b9c96bfdae07f
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Dec 17 13:03:42 2009 +0100
server: fix fd leaks in the new logging code
metze
commit 99894a70fe2ebfe43daae7e88ff0fc9cab33e0fb
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Dec 17 15:49:01 2009 +1100
version 1.0.109
commit 5d50f0e16948d18009f6623f132113f7273efc7f
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Thu Dec 17 14:38:15 2009 +1030
eventscript: remove cb_status, fix uninitialized bug when monitoring aborted
Previously we updated cb_status a each script finished. Since we're storing
the status anyway, we can calculate it by iterating the scripts array
itself, providing clear and uniform behavior on all code paths.
In particular, this fixes a longstanding bug when we abort monitor
scripts to run some other script: the cb_status was uninitialized. In
this case, we need to hand *something* to the callback; 0 might make
us go healthy when we shouldn't. So we use the last status (normally,
this will be the just-saved current status).
In addition, we make the case of failing the first fork for the script
and failing other script forks the same: the error is returned via the
callback and saved for viewing through 'ctdb scriptstatus'.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit b4365045797f520a7914afdb69ebd1a8dacfa0d9
Merge: 82421f20dcad4b0e25f109583879a26c0ee9c465 82f778e85440bc713d3f87c08ddc955d3cfce926
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Dec 17 08:18:04 2009 +1100
fix a conflict in the merge from rusty
Merge commit 'rusty/ctdb-no-setsched'
Conflicts:
server/ctdb_vacuum.c
commit 82f778e85440bc713d3f87c08ddc955d3cfce926
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Wed Dec 16 20:57:20 2009 +1030
ctdb: use mlockall, cautiously
We don't want ctdb stalling due to paging; this can be far worse than
scheduling delays. But if we simply do mlockall(MCL_FUTURE), it
increases the risk that mmap (ie. tdb open) or malloc will fail,
causing us to abort.
This patch is a compromise: we mlock all current pages (including
10k of future stack for expansion) and then relock when a client
asks us to open a TDB. We warn, but don't exit, if it fails.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 482c302d46e2162d0cf552f8456bc49573ae729d
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Wed Dec 16 19:26:22 2009 +1030
Remove RT priority, use niceness.
1) It's buggy. Code needs to be carefully written (ie. no busy
loops) to handle running with it, and we fork and run scripts.[1]
2) It makes debugging harder. If ctdbd loops (as has happened recently)
it can be extremely hard to get in and see what's happening. We've already
seen the valgrind hacks.
3) We have seen recent scheduler problems. Perhaps they are unrelated,
but removing this very unusual setup is unlikely to hurt.
4) It doesn't make anything faster. Under all but the most perverse of
circumstances, 99% of the cpu gives the same performance as 100%, and
we will always preempt normal processes anyway.
[1] I made this worse in 0fafdcb8d353 "eventscript: fork() a child for
each script" by removing the switch_from_server_to_client() which
restored it, but even that was only for monitor scripts. Others were
run with RT priority.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 2ee86cc1f311d7b7504c7b14d142b9c4f6f4b469
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Wed Dec 16 20:59:15 2009 +1030
Add --valgringing flag instead of --nosetsched
The do_setsched was being tested for whether to mmap tdbs: let's make it
explicit. We can also happily move the kill-child eventscript hack under
this flag.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 82421f20dcad4b0e25f109583879a26c0ee9c465
Merge: 1717836f4f36c4e2b6bd82b6b78e2325b2a458ab e3825407a509110c786d618efcdfa56ba93380a5
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Dec 16 18:34:40 2009 +1100
fix conflict in merge from metze
Merge commit 'metze/master-tdb-check'
Conflicts:
server/ctdb_vacuum.c
commit 1717836f4f36c4e2b6bd82b6b78e2325b2a458ab
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Nov 20 21:17:59 2009 +0100
ctdb: pass TDB_DISALLOW_NESTING to all tdb_open/tdb_wrap_open calls
metze
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit e3825407a509110c786d618efcdfa56ba93380a5
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 7 13:02:59 2009 +0100
doc: regenerate manpages
metze
commit 0d1300aa2325c94d8fb1c3cf8d454e5eee43dde9
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Dec 8 12:28:38 2009 +0100
doc: fix docbook warnings for ctdb.1 and onnode.1 manpages
metze
commit 33ec6943fb2d01b6df0ce4515d37c671b18d237f
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Dec 9 11:29:52 2009 +0100
doc/ctdb.1: update example "ctdb listvars" output
metze
commit 9b4c76973a8cf03ddc1a9b3777a350f739c00892
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Dec 8 12:44:13 2009 +0100
doc/ctdb.1: make clear the database is specified by name for "ctdb backupdb"
metze
commit a90f3dd25a22f9b8777ff6946ce1721859e9479a
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Dec 8 12:43:33 2009 +0100
doc/ctdb.1: document "ctdb getdbstatus <dbname>"
metze
commit bf48ae41ef5fb8e4675be448d13db522465d8d72
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 7 10:19:20 2009 +0100
doc/ctdb.1: add "See also" for ctdb getdbmap
metze
commit 8e6b8be51fd1bda789675650a94df0115ee9e238
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Dec 8 12:08:27 2009 +0100
doc/ctdb.1: document "ctdb dumpdbbackup <file>"
metze
commit c09acd0896089a612ee3a1e78711abd98bd9cc99
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 7 10:18:39 2009 +0100
doc/ctdb.1: document -Y output fot ctdb getdbmap
metze
commit 3cdb8be02acc23074c8137a54faea62fee4567a0
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 7 10:10:05 2009 +0100
doc/ctdb.1: document UNHEALTHY for "ctdb getdbmap"
metze
commit fce390194dadb4961b46c706a1826442eef8c63d
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 7 10:00:52 2009 +0100
doc/ctdb.1: document "ctdb wipedb"
metze
commit fc5f556d488488040303438aefecb5ae2a8e54bc
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 7 10:53:31 2009 +0100
config: add CTDB_MAX_PERSISTENT_CHECK_ERRORS option
metze
commit 52e6d81f4d8a4035272d9256d01bafb8ed593027
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 7 10:46:10 2009 +0100
config: try to use tdbtool <tdb> check instead of tdbdump for persistent db checks
metze
commit 504cf78d00d1120b556124340b9312f890b8b8b9
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 7 09:57:45 2009 +0100
ctdb: print out some hints how to debug a "ctdb catdb" failure
metze
commit 45cfcd44093c7d2681e2ffd5cfb402823e8809f4
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 7 09:23:02 2009 +0100
ctdb: add machinereadable output fot "ctdb -Y getdbmap"
metze
commit ecf799093c1989f5499c9d61ce8cc8a98d759160
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 7 09:22:02 2009 +0100
ctdb: disallow "ctdb backupdb" on unhealthy databases
metze
commit c63a0368d9d4b526ac1e49d891d3a1b7b8d20320
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Dec 4 15:24:23 2009 +0100
client: add "ctdb dumpdbbackup <filename>"
metze
commit 1cdc8dbb9cb971cf6dd6cd22b1adaf70ddc77e65
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Dec 4 15:23:56 2009 +0100
client: make ctdb_dumpdb_record() public
metze
commit d1b10b0c0c323c39742a18e98a1dab7e82ddc7be
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Dec 2 12:58:03 2009 +0100
tools/ctdb: let "ctdb restoredb" and "ctdb wipedb" mark the db as healthy on all
nodes
metze
commit 910c19f12448d293a755d1eb46d20f9591f8da7a
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Dec 2 12:57:29 2009 +0100
tools/ctdb: add "ctdb getdbstatus <dbname>"
metze
commit c34535ff4dc6a44909283641596e0ed7c2316fbd
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Dec 2 12:54:29 2009 +0100
tools/ctdb: display db health in "ctdb getdbmap"
metze
commit 5abe44d0113839d3a45c9a31d30856aa70c2ea1f
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Dec 2 12:51:37 2009 +0100
client: add ctdb_ctrl_getdbhealth()
metze
commit 7332d900538f0cbcd953a723417a0fe31dc9807c
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Dec 2 12:48:22 2009 +0100
server: add CTDB_CONTROL_DB_SET_HEALTHY and CTDB_CONTROL_DB_GET_HEALTH
metze
commit 15f133d5150ed1badb4fef7d644f10cd08a25cb5
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 7 13:28:11 2009 +0100
server: Use tdb_check to verify persistent tdbs on startup
Depending on --max-persistent-check-errors we allow ctdb
to start with unhealthy persistent databases.
The default is 0 which means to reject a startup with
unhealthy dbs.
The health of the persistent databases is checked after each
recovery. Node monitoring and the "startup" is deferred
until all persistent databases are healthy.
Databases can become healthy automaticly by a completely
HEALTHY node joining the cluster. Or by an administrator
with "ctdb backupdb/restoredb" or "ctdb wipedb".
metze
commit d874463235fa299e83fe562291c688aca3b85cf3
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 7 13:19:33 2009 +0100
server: move error handling to a 'fail' label in ctdb_control_transaction_commit()
metze
commit 49d2dca9ad837e1b397294fb0e966bf0b77f751c
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Nov 27 16:36:05 2009 +0100
server/recovery: update flags on nodes before syncing dbs
metze
commit cbda4666be88c11a810a192a70667b57f773ace1
Author: Stefan Metzmacher <metze at samba.org>
Date: Sun Nov 29 12:39:37 2009 +0100
server: open /var/ctdb/state/persistent_health.tdb.X on startup
This node internal tdb will store the HEALTH state of persistent
tdbs.
metze
commit 21677ed6fb8c589f348321533c608cad58c4ec93
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Nov 23 15:39:19 2009 +0100
server: create vactune.tdb.X with 0600 permissions
metze
commit 1db17f312558fe59983a3465680e56c9f0c19e36
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Nov 23 15:38:31 2009 +0100
server: create vactun.tdb.X under /var/ctdb/state
metze
commit 92e05282d6c4f16e55d914cc3bde3738ea2d44ad
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Nov 23 15:36:45 2009 +0100
server: create recdb.tdb.X in /var/ctdb/state/
metze
commit f30f33685db50860b6cd6fd1b6bdc3066620a78f
Author: Stefan Metzmacher <metze at samba.org>
Date: Sun Nov 29 12:39:23 2009 +0100
server: only do the mkdir() calls for db_directory* once at the start
metze
commit 656a6ec5ed81ccfbb86144156a3158e48f105ee4
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Nov 23 14:38:03 2009 +0100
server: add db_directory_state to ctdb_context
metze
commit 6529a1328b9ec304ad306674651b2a67e4426e23
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Nov 23 14:40:17 2009 +0100
server: create tdbs with 0600 permissions in ctdb_local_attach()
metze
commit 10d95581fb90bfdf58ec32345c4e36c27acf4f37
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Nov 9 15:06:59 2009 +0100
config: load 'ctdb' config before 'nfs' config in statd-callout
All other scripts do 'loadconfig ctdb' before any other 'loadconfig foo'
call. I think we should do the same in statd-callout.
Otherwise it's very confusing, if you have configured some Options
in /etc/sysconfig/ctdb, but /etc/ctdb/statd-callout doesn't notice
them.
metze
commit 1635e931b909c66eb3b1f5357e3a549b1a0da70d
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Nov 20 21:17:59 2009 +0100
ctdb: pass TDB_DISALLOW_NESTING to all tdb_open/tdb_wrap_open calls
metze
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 093f57a2c00f2d629a3b58e58202f1a7e1bbd406
Author: Simo Sorce <idra at samba.org>
Date: Mon Dec 7 09:25:03 2009 -0500
Fix release script with newer versins of git
(cherry picked from commit 4334092cbae28181ba0d1cf2ac026961f2192972)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit d1873bd81bfc9f486b88f3a38c65c7de8f5a0909
Author: Matthias Dieter Wallnöfer <mwallnoefer at yahoo.de>
Date: Fri Oct 16 19:02:02 2009 +0200
tdb tools: Mostly cosmetic adaptions
Signed-off-by: Stefan Metzmacher <metze at samba.org>
(cherry picked from samba commit 9776cb03450d21da5d454e683bdba29793ba3f67)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 04aeac728f56c65b973762f09977de1b1b99099e
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Nov 19 09:49:03 2009 +0100
tdb: change version to 1.2.0 after adding TDB_*ALLOW_NESTING
metze
(cherry picked from samba commit 5ca0a4bfd6fdbb515835682a12f715283b46cb3e)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit c1c0ede32dc00ed619d1cf5fda40a9de43995f3a
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Nov 19 09:34:05 2009 +0100
tdb: add TDB_DISALLOW_NESTING and make TDB_ALLOW_NESTING the default behavior
We need to keep TDB_ALLOW_NESTING as default behavior,
so that existing code continues to work.
However we may change the default together with a major version
number change in future.
metze
(cherry picked from samba commit 3b9f19ed919fef2e88b2f92ae541e07bc7379cd1)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 855391c1e37012b0d6c673a304bb8da8a1efcd72
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Nov 19 09:38:48 2009 +0100
tdb: always set tdb->tracefd to -1 to be safe on goto fail
metze
(cherry picked from samba commit 85449b7bcc4bd7948bea38b5514a02357950a002)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 6126f04bd4982b66564dcccd92a15baf9cb856f3
Author: Volker Lendecke <vl at samba.org>
Date: Fri Nov 6 14:04:49 2009 +0100
tdb: Fix a C++ warning (cherry picked from samba commit be88a126ea50ea7e41583f402013c63234305e48)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 7a88f1df9190674deaf5dcbedad02ae4120a5263
Author: Kirill Smelkov <kirr at mns.spb.ru>
Date: Wed Oct 21 21:18:58 2009 +0400
tdb: update README a bit
While studying tdb, I've noticed a couple of mismatches between readme
and actual code:
- tdb_open_ex changed it's log_fn argument to log_ctx
- there is now no tdb_update(), which it seems was transformed into
non-exported tdb_update_hash()
There were other mismatches, but I don't remember them now, sorry.
Signed-off-by: Kirill Smelkov <kirr at mns.spb.ru>
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
(cherry picked from samba commit 83de5c826313aa09c76131ae70550bd81b3521c5)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 03372b4ea8ba2938468a5c0fc234d604966ce070
Author: Kirill Smelkov <kirr at mns.spb.ru>
Date: Wed Oct 21 21:18:57 2009 +0400
tdb: add tests for double .close() in pytdb
The reason I do it is that when using older python-tdb as shipped in
Debian Lenny, python interpreter crashes on this test:
(gdb) bt
#0 0xb7f8c424 in __kernel_vsyscall ()
#1 0xb7df5640 in raise () from /lib/i686/cmov/libc.so.6
#2 0xb7df7018 in abort () from /lib/i686/cmov/libc.so.6
#3 0xb7e3234d in __libc_message () from /lib/i686/cmov/libc.so.6
#4 0xb7e38624 in malloc_printerr () from /lib/i686/cmov/libc.so.6
#5 0xb7e3a826 in free () from /lib/i686/cmov/libc.so.6
#6 0xb7b39c84 in tdb_close () from /usr/lib/libtdb.so.1
#7 0xb7b43e14 in ?? () from /var/lib/python-support/python2.5/_tdb.so
#8 0x0a038d08 in ?? ()
#9 0x00000000 in ?? ()
master's pytdb does not (we have a check for self->closed in obj_close()),
but still...
Signed-off-by: Kirill Smelkov <kirr at mns.spb.ru>
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
(cherry picked from samba commit 71a21393dd1bb61bded82b1581ac6d5bd3b0153c)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit f5c992bdaeb73ef726ff4728a9922721474cd6f5
Author: Kirill Smelkov <kirr at mns.spb.ru>
Date: Wed Oct 21 21:18:56 2009 +0400
tdb: reset tdb->fd to -1 in tdb_close()
So that erroneous double tdb_close() calls do not try to close() same
fd again. This is like SAFE_FREE() but for fd.
Signed-off-by: Kirill Smelkov <kirr at mns.spb.ru>
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
(cherry picked from samba commit b4424f8234a78a79fb2d71d46ca208b4f12e0f9e)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 76aacdd8e1106f26565e25903091a757b59cd7e2
Author: Kirill Smelkov <kirr at mns.spb.ru>
Date: Wed Oct 21 21:18:55 2009 +0400
tdb: fix typo in python's Tdb.get() docstring
It's Tdb.get(), not Tdb.fetch().
Signed-off-by: Kirill Smelkov <kirr at mns.spb.ru>
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
(cherry picked from samba commit cfed5f946de0992a594c189ee3c19cf98e59d380)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 470750fa2e3cf987f10de48451b1ee13aab03907
Author: Andrew Tridgell <tridge at samba.org>
Date: Fri Oct 23 22:45:03 2009 +1100
tdb: detect tdb store of identical records and skip
This can help with ldb where we rewrite the index records
(cherry picked from samba commit d4c0e8fdf063f88032c32de7ece60d502b322089)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 03b3682e3fa53c9f5fdf2c4beac8b5d030fd2630
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Oct 23 13:51:03 2009 +0200
tdb: rename 'struct list_struct' into 'struct tdb_record'
metze
(cherry picked from samba commit 3b62e250c066f44d0ab08a7db037b6b4f74a914b)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 6ac7ef8bf4d384f880c7f483ace70f8e08c15a8b
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Thu Nov 19 22:15:59 2009 +0100
lib/tdb: make tdbtool use tdb_check() for "check" command
Also, set logging function so we get more informative messages.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
(cherry picked from samba commit 094493115971cf3d5a3138ff10ebe02335824723)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit df1a3ce0380fa9d8722b2f9b16f65557095e4c83
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Thu Oct 22 00:10:34 2009 +1030
lib/tdb: add tdb_check()
ctdb wants a quick way to detect corrupt tdbs; particularly, tdbs with
loops in their hash chains. tdb_check() provides this.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
(cherry picked from samba commit 022b4d4aa6861c1e3e6d76484d92555221cb6d14)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 27611d6a0c313732e438cb24c82b9de126e50156
Author: Kirill Smelkov <kirr at mns.spb.ru>
Date: Wed Oct 21 21:18:54 2009 +0400
tdb: kill last bits from swig
We no longer use swig for pytdb, so there is no need for swig make
rules. Also pytdb.c header should be updated.
Signed-off-by: Kirill Smelkov <kirr at mns.spb.ru>
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
(cherry picked from samba commit ecbe5ebd8d1c44a478c613eb1cace0521142d0d3)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 1d5c5a221c28f1dc652a80ed516a0f18ba588d9f
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Nov 19 15:44:10 2009 +0100
lib/tdb: sync build files from samba master
metze
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit c40d14b1b7ba7c9ae40c0306a2e552504e0f92a6
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Nov 19 16:52:46 2009 +0100
s3 build: Remove unused fstat check to fix a bunch of HAVE_FSTAT warnings (cherry picked from samba commit 2c2545d45af9c7479bf032fff1263e102926a495)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 5652e403be099f35cdd29fda8ba4fe2c35de8035
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Jan 30 19:38:59 2009 +0100
lib/tdb: include replace.h and system/filesys.h in pytdb.c
This fixes the build on Tru64.
metze
(cherry picked from samba commit 3718cf294ad1f3e00178cb34b2c914c9aecf2016)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit da47169c4d3bc1b446b49610d892df05638e912c
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Nov 19 16:50:50 2009 +0100
Avoid using a utility header for Python replacements included in Samba, since this will not be shipped with talloc/tdb/tevent/etc. (cherry picked from samba commit ba5d6e6d706ebf07640ee24d701255cbb4803525)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 4130c5dd10869b071124e2bf04d6807bbb11ab1f
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Nov 19 16:49:13 2009 +0100
s3/s4 build: Fix Py_RETURN_NONE to work with python versions < 2.4 (cherry picked from samba commit 61a23c5eea2203721a70a4ad41bfdc6cd1d6a2a7)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit e7242221c3318a5c312e17ff4074bef80b639ca8
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Nov 19 16:31:29 2009 +0100
py: Properly increase the reference counter of Py_None. (cherry picked from samba commit d2c70d24e12293d9b4272eb310a6a4c4582b2d92)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 52f78e040749d24058ee1f575d949b57d15f5987
Author: Jelmer Vernooij <jelmer at samba.org>
Date: Thu Dec 18 20:42:50 2008 +0000
Make sure to not close tdb database more than once. (cherry picked from samba commit 6fe6983e4c960abc69d5fa80cbef534ae515209a)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 3a671b11770057c91e0ae646499d4714f52bc5c0
Author: Jelmer Vernooij <jelmer at samba.org>
Date: Thu Dec 18 19:41:02 2008 +0000
Implement missing functions in pytdb. (cherry picked from samba commit 2da551bbcc6cab296769c193b0b82aaa6256cece)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 2231ee0aa163d68383dd9636f25f033fe7c1f3e7
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Nov 19 16:25:49 2009 +0100
Add simple manually written replacement for the tdb module. (cherry picked from samba commit 2a61fd41e9d4d2e3d7b47a816544c88bb369bc03)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 363c34d4bb488609317794cd3153d85c12643110
Author: Jelmer Vernooij <jelmer at samba.org>
Date: Thu Jan 10 21:44:38 2008 +0100
tdb: Add simple reimplementation of tdbdump in Python as an example of the tdb Python bindings. (This used to be commit 47d797f7885b1e7bcff724496ecb1990e8440eea) (cherry picked from samba commit 6bdd1425b75c8931965f0e5627f5a63dc6820a7c)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 236dc2fa29b3c0caec51859dbd469f0a13f5917e
Author: Jeremy Allison <jra at samba.org>
Date: Fri Sep 5 15:32:22 2008 -0700
Remove unecessary msync. Jeremy. (cherry picked from samba commit 0bae1ef3de8fda5e1e2d641b14a408e627396912) (This used to be commit db2acaf46fdc38078b6b28b68909e289f6c9e0ec) (cherry picked from samba commit a1cf3ad5d655cf5a847df6d6299b3af1a30ec1e3)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 5aa0ab328c36ecd4d7ec03f921e6027340c2ef13
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Nov 19 15:35:38 2009 +0100
The msync manpage reports that msync *must* be called before munmap. Failure to do so may result in lost data. Fix an ifdef check, I really think we meant to check HAVE_MMAP here. (cherry picked from samba commit 74c8575b3f3b90ea21ae6aa7ccd95947838af956) (This used to be commit 8fd54bb55f0c23bd025d1719abcbe75c6a2ea8ac) (cherry picked from samba commit b39e332bd7803dd4ce8267f750c497b5deb837ee)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit b02bf7659f04f1fa203834bd75a2392b48e56c16
Author: Volker Lendecke <vl at samba.org>
Date: Tue Aug 12 22:31:52 2008 +0200
Attempt to fix bug 5684
With the ctdb checkin dde9f3f006 tdb optimized out write lock checks for
write-enabled transaction. Sadly, this also removed the possibility to ever
remove dead records left over from tdb_delete calls within a transaction.
Tridge, please check this! Did dde9f3f006 have any reason beyond performance
optimizations?
Thanks,
Volker
(cherry picked from samba commit 3f884c4ae36f3260e63626bdd4989d9258ae6497)
(This used to be commit 1d85e0647e287d269b3f6b534da88f497d6f76c3)
(cherry picked from samba commit 8c88209c6f4b57b0dbe1459bd5bc583c5d321758)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 5d4cc4b018a538dc3f1d79fe091f3e6e67003daf
Author: Slava Semushin <php-coder at altlinux.ru>
Date: Sun Jun 7 00:06:04 2009 +0700
lib/tdb/tools/tdbtorture.c: fixed memory leak.
Found by cppcheck:
[lib/tdb/tools/tdbtorture.c:326]: (error) Memory leak: pids
(cherry picked from samba commit 497b9e460b5defd60de89b9c5bed890f83ca86a1)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 923b61fe722c0aec8a5b6ac8dd1df74957dc102b
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Mar 31 13:59:03 2009 +1100
added basic testing of tdb_transaction_prepare_commit() in tdbtorture (cherry picked from samba commit 84547b8dba3c0cf4e20b3c50d9386081d475df6b)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit cd23d36ada9631095ca68663516de0c8d8c3bbed
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Dec 16 14:36:56 2008 +1100
make tdbbackup use transactions
tdbbackup was originally written before we had transactions, and it
attempted to use its own fsync() calls to make it safe. Now that we
have transactions we can do it in a much safer (and faster!) fashion
(cherry picked from samba commit 2e4247782bd5812bc8e7ea24194c8436748bb2fa)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 3d44412593b8748a5158e15b83cd9eb548231194
Author: Andrew Tridgell <tridge at samba.org>
Date: Thu May 28 17:35:12 2009 +1000
fixed tdbbackup to give tdb error messages (cherry picked from samba commit 08be1420ba52ef9bba90d0f811c7810841ee8568)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit f7278a277ed91587cae5b5e3660dad7124bdb73f
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Thu Oct 22 00:10:54 2009 +1030
lib/tdb: add -t (always use transactions) option to tdbtorture
This means you can kill it at any time and expect no corruption.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
(cherry picked from samba commit 0fc6800005ffb532a5e5699c97f13f1de138d51f)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit a6620f6e74aadc708395b21b42303d1082192fcc
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Thu Oct 22 00:09:43 2009 +1030
lib/tdb: wean off TDB_ERRCODE.
It was a regrettable hack which I used to reduce line count in tdb; in fact it caused confusion as can be seen in this patch.
In particular, ecode now needs to be set before TDB_LOG anyway, and having it exposed in
the header is useless (the struct tdb_context isn't defined, so it's doubly useless).
Also, we should never set errno, as io.c was doing.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
(cherry picked from samba commit b77f41d58b05101e02d8ac0e54cb0e30807d89c2)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit b01b756cb577f32a1ec4597efb00017241e01685
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Oct 20 12:19:41 2009 +1030
lib/tdb: TDB_TRACE support (for developers)
When TDB_TRACE is defined (in tdb_private.h), verbose tracing of tdb operations is enabled.
This can be replayed using "replay_trace" from http://ccan.ozlabs.org/info/tdb.
The majority of this patch comes from moving internal functions to _<funcname> to
avoid double-tracing. There should be no additional overhead for the normal (!TDB_TRACE)
case.
Note that the verbose traces compress really well with rzip.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
(cherry picked from samba commit 703004340c3e0f43f741bd368d2525cfd187d590)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 43c97b259b19c42b4edc7f83dbfc5e486568b4e3
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Oct 20 10:59:40 2009 +1100
tdb: fixed the intermittent failure of tdbtorture in the build farm
There was a race condition that caused the torture.tdb to be left in a
state that needed recovery. The torture code thought that any message
from the tdb code was an error, so the "recovered" message, which is a
TDB_DEBUG_TRACE message, marked the run as being an error when it
isn't.
(cherry picked from samba commit 5dcf0069b68149575fe6166019dd90b73885926b)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit c1b8d32b4ef87b9d8f37b451f47fcee2ea753d21
Author: Michael Adam <obnox at samba.org>
Date: Mon Sep 21 00:08:34 2009 +0200
tdb:tdbtool: fix indentation.
Michael
(cherry picked from samba commit e440a2e11e78a562f97971c0dfe0cf3f694996ff)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit e4d49c182e12c2d429d0414209cc2c8ccc19dc91
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Nov 19 14:31:29 2009 +0100
Fix all warnings in source3 with gcc4.3. Jeremy. (cherry picked from samba commit 07e0094365e8dc360a83eec2e7cf9b1d5d8d6d00)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 94f5728a77b8c772fb16c4744c24b45de8016e52
Author: Tim Prouty <tprouty at samba.org>
Date: Tue Dec 16 08:33:58 2008 -0800
s3/s4: Fix "shadows a global declaration" warning (cherry picked from samba commit e48a5cd5d4fc2626b09af16a0ac68c638d081437)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 5830a2427b84e1cce74390b58fe12c45b5a056a6
Author: Tim Prouty <tprouty at samba.org>
Date: Wed May 27 12:52:37 2009 -0700
tdb: Fix some recently introduced warnings in tdbtool (cherry picked from samba commit c299833bf8e6506c793d6e8283743949aaac9ef4)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 463279c972fa4538919bdd1dff48ca6b2fb8d49c
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue May 26 09:24:37 2009 +1000
added some more speed tests to tdbtool
This adds 3 simple speed tests to tdbtool, for transaction store,
store and fetch.
On my laptop this shows transactions costing about 10ms
(cherry picked from samba commit e15027155d3d880abde83124e252b3dd10a9aae4)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 35a5b874b925380f7c227e47aebb590c9db4739e
Author: Michael Adam <obnox at samba.org>
Date: Sun Sep 20 23:58:27 2009 +0200
tdb:tdbtool: add transaction_start/_commit/_cancel commands.
So one can perform tdbtool operations protected by transactions.
Michael
(cherry picked from samba commit 91e1bab2e9a3f33151061554f2dcf05bcb728312)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit dc287a7d7420cca0b104049e689a73202bc535f8
Author: Michael Adam <obnox at samba.org>
Date: Sun Sep 20 23:58:05 2009 +0200
tdb:tdbtool: add the "speed" command to the help text.
Michael
(cherry picked from samba commit 817383d88d820e7be5b5dd3d2da350d4a03a94de)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 02b35ba77672727c96ad004be37c7f6f1d3fe474
Author: Holger Hetterich <hhetter at novell.com>
Date: Sun Nov 2 00:12:32 2008 +0100
Added a simple tdb integrity check to tdbtool. The command "check" runs traverse on the currently open tdb, and returns the number of entries if the integrity check is successful. (cherry picked from samba commit 42366bcbbdd42bb9d5821dfcc9dbe71a1eafa330)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 5ef5ddb8369e5e76173285fe9a08498dc8dc73ab
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Sep 15 14:04:22 2009 -0700
tdb: allow reads after prepare commit
We previously only allowed a commit to happen after a prepare
commit. It is in fact safe to allow reads between a prepare and a
commit, and the s4 replication code can make use of that, so allow it.
(cherry picked from samba commit 46c99ec2a3781d53138245182345c6c2ddd9a258)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit ef1dc585d869a9e48164cd65bafc92c1da245007
Author: Michael Adam <obnox at samba.org>
Date: Fri Sep 11 15:20:34 2009 +0200
tdb:mksigs: allow PRINTF_ATTRIBUTE(..) macros function types as funcion args
Michael
(cherry picked from samba commit 55dcf928eb6ce603c5e95a9a80856a4deb33d0c6)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 0ae735b7a2096a40e5e47086ec41d9d45ef6d36b
Author: Michael Adam <obnox at samba.org>
Date: Fri Sep 11 15:16:03 2009 +0200
tdb:mksigs: normalize bool -> _Bool
Michael
(cherry picked from samba commit cfa4e7ec7540d1100649839a10968303189fe929)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 2e69647404c87c438ae7c180277ac3b532941efd
Author: Michael Adam <obnox at samba.org>
Date: Fri Sep 11 15:11:16 2009 +0200
tdb:mksigs: ignore symbols (like _DEPRECATED_) after closing function parentheses
Michael
(cherry picked from samba commit 25939a627f15b7a21110767d47be0f50f32d3943)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 37225f1ed3f70d7259c2af2c51c671105c34476a
Author: Michael Adam <obnox at samba.org>
Date: Fri Sep 11 15:01:46 2009 +0200
tdb:mksigs: correctly ignode multiline function typedefs
by first concatenating multilint parentheses and removing typefes afterwards.
Michael
(cherry picked from samba commit 13bfcd5a93c47c9db8b644560a1bcc398facb136)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 66fffa577e051212ac7541be906b6c80f4a7c0c9
Author: Michael Adam <obnox at samba.org>
Date: Fri Sep 11 14:55:52 2009 +0200
tdb:mksigs: ignore struct forward declarations.
Michael
(cherry picked from samba commit ecd12bfb382da072595391d5bf11a893d39a0479)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 310d673b7cb9000d76437d78e43bc2bf133e4e14
Author: Michael Adam <obnox at samba.org>
Date: Fri Sep 11 14:54:30 2009 +0200
tdb:mksyms: allow characters after closing functions parenthesis.
Michael
(cherry picked from samba commit 400f08450b26f38a7dafd1d458542b4d9a8cb19e)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit f70e371d70e334a7254649b2bb09aa382e6f09bb
Author: Michael Adam <obnox at samba.org>
Date: Fri Sep 11 14:54:02 2009 +0200
tdb:mksyms: allow double pointer return value of functions.
Michael
(cherry picked from samba commit 907e05595fdcc4ef77ad627bc0f3732faa59de68)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 9d5015e6fc68d3eb9e7b7178dbaf8c129dc79471
Author: Günther Deschner <gd at samba.org>
Date: Mon Sep 7 11:56:10 2009 +0200
tdb: fix c++ build warning.
Guenther
(cherry picked from samba commit 1c2f4919abe99d07540b7380ad16d475d62aa50b)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit efa4a795db7fb2bddaab3969850d1554fc5f4da1
Author: Michael Adam <obnox at samba.org>
Date: Sun Aug 30 00:55:28 2009 +0200
One would expect I could spell my name... (cherry picked from samba commit 0d120be36bfc561e3f679d081993ccc6bea2a401)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 724d71dc838750fff91a45359feeb6e71bf0a4c7
Author: Michael Adam <obnox at samba.org>
Date: Fri Aug 28 15:53:12 2009 +0200
tdb: add script/abi_checks.sh. check for abi changes without gcc magic.
USAGE: abi_checks.sh LIBRARY_NAME header1 [header2 ...]
This creates symbol signature lists using the mksyms and mksigs scripts
and compares them with the checked in lists.
Michael
(cherry picked from samba commit 9636e0d373e75cce7063b710227eaaf53f447c1b)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 141422d9dc24b15b7b8bc7831adab90367a729f7
Author: Michael Adam <obnox at samba.org>
Date: Fri Aug 28 15:08:19 2009 +0200
tdb: add script to extract signatures from header files.
This produces output like the output gcc produces when
invoked with the -aux-info switch.
Run like this: cat include/tdb.h | ./script/mksigs.pl
This simple parser is probably too coarse to handle all
possible header files, but it treats tdb.h correctly...
Michael
(cherry picked from samba commit 0760a04ef9f7d2f3d966017295712769d02b8b9f)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit aed864dceaf6ec1e6e6066a587c708b485901200
Author: Michael Adam <obnox at samba.org>
Date: Fri Aug 28 15:01:17 2009 +0200
tdb: add scripts to extract library symbols (exports file) from headers
Michael
(cherry picked from samba commit 006fd0c43c7c403b8671dfc46e5ee31e92480e1f)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit eebd467961dad6cfb38c2a5d6e4b4dbf86e55e63
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Fri Aug 28 11:56:34 2009 +0930
lib/tdb: don't overwrite TDBs with different version numbers.
In future, this may happen, and we don't want to clobber them.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
(cherry picked from samba commit 398d0c2929026fccb3409316720a4dcad225ab05)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 6f8614de0f20d4c507aecd744d9c3f6545078127
Author: Jeremy Allison <jra at samba.org>
Date: Thu Aug 6 11:47:08 2009 -0700
Add define guards around otherwise unused variable. Jeremy. (cherry picked from samba commit 4fc9f9c3f943cdeb27e37f0ee068cdd0da7cb00c)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 2d768f664e6db65b3b7e0c732f33ee2b806892f9
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Thu Aug 6 13:13:42 2009 +1000
There is one signedness issue in tdb which prevents traverses of TDB records over the 2G offset on systems which support 64 bit file offsets. This fixes that case.
On systems with 32 bit offsets, expansion and fcntl locking on these records
will fail anyway. SAMBA already does '#define _FILE_OFFSET_BITS 64' in
config.h (on my 32-bit x86 Linux system at least) to get 64 bit file offsets.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
(cherry picked from samba commit 252f7da702fd0409f7bfff05ef594911ededa32f)
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit b883d19a495a41a22db37f9c2cf6250fee529de0
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Dec 16 09:51:17 2009 +1100
Revert "cleanup: remove a tunable we no longer use in the eventscripts any more :"
This reverts commit 401f421fa003d9515df15e759b50b56e0c67d69c.
Conflicts:
include/ctdb_private.h
server/ctdb_tunables.c
commit b765e12a5fb87a6121e49b349017b6a961929346
Merge: 6ed34d5320c39d8a55f2a36ad4c1ab574e0b0796 3d2d877d877146ca09a28a3a44f4840eb36fd377
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Dec 15 21:00:22 2009 +1100
Merge branch 'trans3'
commit 6ed34d5320c39d8a55f2a36ad4c1ab574e0b0796
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Dec 15 20:56:16 2009 +1100
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Dec 15 15:53:30 2009 +1030
eventscript: hack to avoid overloading valgrind
Now we fork one child per script, when running under valgrind the
load
gets quite high. This is because valgrind does a lot of work after
exit,
and we don't wait for the children to finish; we start the next one
when
the child reports status via the pipe.
This fix is ugly, but simple.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit bcf494b81f4277dc75f05faccf0c446bd15f6e2b
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Dec 15 19:04:52 2009 +1100
This is a dodgy patch.
I saw once where the master ctdbd logging structure was talloc freed
which caused issues.
So only free the structure if it is NOT the master structure.
This needs to be looked into in more detail.
commit 3d2d877d877146ca09a28a3a44f4840eb36fd377
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Dec 15 14:26:28 2009 +1100
Revert "Make fetch_locked more scalable"
This reverts commit 5736e17c139c9a8049e235429aeae0c6c9d0e93d.
commit ac06a0e042e7d024060d6e87a49bda9ccc072c52
Merge: ea9e39369379939abf6a4076fa2014c10c1a9ad0 c5a0aef668a63f927d6184612b13ce316eb4a0be
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Dec 15 14:25:55 2009 +1100
Merge commit 'obnox/ctdb-wip-trans3' into trans3
commit 24767be2eb9aed29704c2a4097bab5466cb6728f
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Dec 15 12:14:49 2009 +1100
add a new test tool that just locks and releases the same record over and over
commit 340be0179f55acfff77f8c3c8be958679227bde1
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Dec 15 11:29:16 2009 +1100
ctdb_fetch requires the number of nodes being specified.
Have it log an error and terminate if thie parameter was omitted
commit ea9e39369379939abf6a4076fa2014c10c1a9ad0
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Dec 15 10:45:18 2009 +1100
When setting up the logging, set the event to trigger a read of a log message from a child process as a child of the "log" structure and not the ctdb structure,
or else we can crash if we receive log messages from a child but the log structure has been freed()
commit 211ea7907e8e96041aa6f7d086551d64d065a8a3
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Dec 15 10:23:58 2009 +1100
From rusty:
Subject: eventscript: fix spinning at 100% cpu when child exits.
ctdbd was spinning reading 0 from a pipe, as soon as the first
eventscript finishes.
This was caused by the intersection between a78b8ea7168e "Run only one
event for each epoll_wait/select call" and 32cfdc3aec34 "eventscript:
ctdb_fork_with_logging()". Unavoidable mid-air collision, since both
worked fine and both were developed simultaneously.
When the script exits, we have two pipes open to it: one for any
stdout/stderr for logging (ctdb_log_handler), and one for the result
(ctdb_event_script_handler). The latter frees everything, including
the log fd and event structure.
We used to get one callback to ctdb_log_handler, which got a harmless
0-length read, then one to ctdb_event_script_handler which cleaned up.
Now we only do one callback per poll, we need the logging function to
clean itself up so we can make process.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 5c8e56fc7a518e115bceac257867739283cf6a1e
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Dec 14 15:53:23 2009 +1100
Rename the tunable EventScriptBanCount to EventScriptTimeoutCount
since we no longer ban nodes when dodgy scripts continue to hang.
We now only mark nodes as unhealthy if monitor events fail or timeout. Never ban.
commit 401f421fa003d9515df15e759b50b56e0c67d69c
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Dec 14 15:48:47 2009 +1100
cleanup: remove a tunable we no longer use in the eventscripts any more :
EventScriptUnhealthyOnTimeout
commit 1b4e7bb548976b99f122142b040494b6f9911962
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Thu Dec 10 20:35:54 2009 +1030
ctdb: don't print OUTPUT: for DISABLED scripts
In other news, did you know ctime() returns a \n-terminated string?
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 0ea0e27d93398df997d3df9d8bf112358af3a4a5
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Thu Dec 10 20:25:33 2009 +1030
eventscript: fix monitoring when killed by another script command
Commit c1ba1392fe "eventscript: get rid of ctdb_control_event_script_finished
altogether" was wrong: there is one case where we want to free the script
without transferring their status to last_status. This happens because we
always kill an running monitor command when we run any other command.
This still isn't quite right (and never was): the callback will be called
with status value 0, which might flip us to HEALTHY if we were unhealthy.
This is conveniently fixed in my next set of patches :)
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 68a8ee99b128a5ec883600735626bdb3bbc9c503
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Dec 14 15:40:54 2009 +1100
remove the variable "disable when unhealthy"
there is no rational need for a setting where we permanently mark nodes as disabled everytime an eventscript fails
commit c5a0aef668a63f927d6184612b13ce316eb4a0be
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 11 17:05:30 2009 +0100
Revert "recovery: add special pull-logic for persistent databases"
This reverts commit 8aef46d2aab3efb322dda51eaa202653cefd5222.
This special recovery logic is wrong now with the transaction rewrite.
The treatment of persistent databases will later be rewritten to use the
database sequence number.
Michael
commit 5736e17c139c9a8049e235429aeae0c6c9d0e93d
Author: Volker Lendecke <vl at samba.org>
Date: Wed Dec 9 15:11:45 2009 +0100
Make fetch_locked more scalable
This patch improves the handling of the fetch_lock operation on non-persistent
databases that ctdb clients have to do very frequently.
The normal flow how this goes is the following:
1. Client does a local fetch_lock on the database
2. Client looks if the local node is dmaster.
If yes, everything is fine
If no, continue here
3. Client unlocks the local record
4. Client issues a "get me the record" call to ctdbd
5. ctdbd goes out and fetches the dmaster role
6. ctdbd tells the client to retry
7. Client starts over again
The problem is between step 6 and 7: Before the client has had the chance to
retry (i.e. catch the record with a fetch_locked), another node might have come
asking ctdbd to migrate away the record again. This is a real problem, I've
seen >20 loops of this kind in real workloads.
This patch does the following: Whenever ctdb receives a record as result of
step 5, it puts the key on a "holdback list". As long as a key is on this list,
a request to migrate away the dmaster is put on hold. It is the client's duty
to issue the "CTDB_CONTROL_GOTIT" control when it has successfully done step 2
after having asked ctdb to fetch the record. This will release the key from the
"holdback list" and re-issue all dmaster migration requests.
As a safeguard against malicious clients, once a second (default 1000msecs,
tunable "HoldbackCleanupInterval" in milliseconds) ctdbd goes over the list of
held back keys, deletes them and releases all held back migration requests.
commit 844aa6300ee4d87561e698001ebc15ac1e455528
Author: Volker Lendecke <vl at samba.org>
Date: Thu Dec 10 13:02:29 2009 +0100
Import "talloc_array_length" from upstream talloc
commit 78ca29352aa39f4ef4e41096b92d55cb2e0d348a
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 11 16:39:58 2009 +0100
tests: temporarily disable the transaction test tool.
Make it return success for make test.
This is temporarily disabled until the rewrite of the
transaction code (in samba and the daemon) using the global
lock feature has been ported to the ctdb client code.
Michael
commit a7e3b5fac6b3f5d74473f26eb86c067b35647996
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 11 15:31:02 2009 +0100
Add a new control CTDB_GET_DB_SEQNUM - fetch a persistent db's sequence number.
Michael
commit 4b1dbcf0853bdc4832d39a477823ae34f216da52
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 11 14:19:55 2009 +0100
define CTDB_DB_SEQNUM_KEY - used with the new implementation of transactions.
Michael
commit 1640da1cab7e8b545367824204c82931f3346848
Author: Volker Lendecke <vl at samba.org>
Date: Wed Dec 9 17:20:23 2009 +0100
Tiny simplification of ctdb_queue_packet()
commit 6af5e74a21546d723008d69d6752ebebf898c947
Author: Volker Lendecke <vl at samba.org>
Date: Tue Dec 8 17:00:55 2009 +0100
Rename a struct member for clarity
commit f66428f9d2013080a414404c1ba6117888352fd6
Author: Michael Adam <obnox at samba.org>
Date: Thu Dec 3 17:59:49 2009 +0100
server: add a new control CTDB_CONTROL_TRANS3_COMMIT
This is a simplified version of the trans2 commit control:
It just rolls out the marshall buffer to all active nodes.
It is the main ctdbd part of the re-implementation of the
persistent transactions. The client code is changed to
take a global lock to start a transactions and store into
the marshal buffer instead of writing to the local tdb
under a local transaction.
The old transaction implementation is going to be
removed in a later commit.
Michael
commit af6656f2844d8fd72204a70358c9d589dbe1bd34
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Dec 10 08:53:55 2009 +1100
From: Volker Lendecke <vl at samba.org>
Date: Wed, 9 Dec 2009 22:45:12 +0100
Subject: [PATCH] Revert an accidential commit
commit 59f46d7261dfdbdef900bf95dd9eb28ad22a46b2
Author: Michael Adam <obnox at samba.org>
Date: Wed Dec 9 22:04:48 2009 +0100
tests: remove the no_trans mode from ctdb_transaction.
Writes without transaction are not possible any more on
persistent databases.
Michael
commit b022863d44026c19d5aae54aa485b670bea0540e
Author: Michael Adam <obnox at samba.org>
Date: Thu Jul 30 11:59:59 2009 +0200
tests: remove the persistent_unsafe writes test.
This is useless now that persistent write operations without
transaction are forbidden.
Michael
commit 9ac82311d796e1fab31f8de62b8ccc754445093c
Author: Michael Adam <obnox at samba.org>
Date: Thu Jul 30 11:59:02 2009 +0200
tests: remove persistent_safe write test.
This is useless now that persistent writes without transactions are forbidden.
Michael
commit 2ff2679e8f3d50ebf735f2c420898a84268bdc95
Author: Michael Adam <obnox at samba.org>
Date: Wed Dec 9 21:38:44 2009 +0100
test: add test 54_ctdb_transaction_recovery.sh
This is like the 53_ctdb_transaction test, but it additionally
runs a loop with recoveries while the transactions are running.
When called like this, the transaction loops run for 10 minutes:
CTDB_TEST_TIMELIMIT=600 tests/scripts/run_tests tests/simple/54_ctdb_transaction_recovery.sh
The default timelimit is 30 seconds.
Michael
commit c13077ca64f6e6569c30ef7fcb044e5711dce1a3
Author: Michael Adam <obnox at samba.org>
Date: Wed Dec 9 21:36:42 2009 +0100
test: get value for --timelimit from environment var CTDB_TEST_TIMELIMIT in transaction test
Michael
commit c46adb210e47530488503e20d682d4d182c0fb79
Author: Michael Adam <obnox at samba.org>
Date: Wed Dec 9 15:05:20 2009 +0100
client: lower level of commit retry message WARNING->DEBUG
This can happen frequently when recoveries intercept transactions.
Michael
commit 54d227811753f4a87f1a2c9dc0b1389f5ca2a12f
Author: Michael Adam <obnox at samba.org>
Date: Wed Dec 9 13:48:49 2009 +0100
client: lower debug level of transaction-active-retry message to DEBUG
This reduces some noise.
Michael
commit 7f64a00c76203fdf6673c3f862a4bfd17fb848d7
Author: Michael Adam <obnox at samba.org>
Date: Wed Dec 9 13:43:38 2009 +0100
call: lower the debug message "refusing migration while transction" to lvl INFO
This gets just too noisy on a busy system.
And it is purley informational anyways...
Michael
commit a78b8ea7168e5fdb2d62379ad3112008b2748576
Author: Volker Lendecke <vl at samba.org>
Date: Wed Dec 9 17:14:16 2009 +0100
Run only one event for each epoll_wait/select call
This might be a bit less efficient, but experience in winbind has shown that
event callbacks can trigger changes in the socket state in very hard to
diagnose ways.
commit 142111983c103e90ccccbe26fd580c4eb28e949f
Author: Christian Ambach <christian.ambach at de.ibm.com>
Date: Tue Dec 8 19:23:19 2009 +0100
reduce vacuuming lognoise
syslog.h says:
LOG_NOTICE 5 normal but significant condition
LOG_INFO 6 informational
several vacuuming related logs logged at NOTICE level although I don't see
any real significance, these are just informational messages for me
Signed-off-by: Christian Ambach <christian.ambach at de.ibm.com>
commit dccb549fd6a6e338063699544e52f2a1a6a966b5
Author: Christian Ambach <christian.ambach at de.ibm.com>
Date: Tue Dec 8 19:08:37 2009 +0100
improve time jump logging
add the __location__ macro to the logs to get a better idea
in which loop the problem occured
Signed-off-by: Christian Ambach <christian.ambach at de.ibm.com>
commit 6e8b279ed307eccac08386e98510361ba3ab3d36
Merge: 8cc6c5de3d7abb0b72eaa6e769e70963b02d84cb 9b90d671581e390e2892d3a68f3ca98d58bef4df
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Dec 9 14:26:42 2009 +1100
Merge commit 'rusty/script-report'
commit 8cc6c5de3d7abb0b72eaa6e769e70963b02d84cb
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Dec 9 11:33:04 2009 +1100
Bond devices can have any name the user configures, so
when checking link status for an interface, first
check if this interface is in fact a bond device
(by the precense of a /proc/net/bonding/IFACE file)
and use that file for checking status.
Othervise assume ib* is an infiniband interface which we donnt know how
to check, or otherwise it is an ethernet interface and ethtool should
hopefully work.
commit 03b5bbaae1b53830a4cd20d3079ab8f45ffce923
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Dec 9 11:13:29 2009 +1100
make sure to also check that interfaces used for NATGW are ok
and have a link.
if not the node should become unhealthy
commit 7b73834ba3ac197cc8a3020c111f9bb2c567e70b
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 7 14:37:21 2009 +0100
events/50.samba: only use wbinfo --ping-dc if available
metze
commit 9b90d671581e390e2892d3a68f3ca98d58bef4df
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Dec 8 01:50:55 2009 +1030
ctdb: scriptstatus can now query non-monitor events
We also no longer return an error before scripts have been run; a special
zero-length data means we have never run the scripts.
"ctdb scriptstatus all" returns all event script results.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 53bc5ca23ca55a3ac63a440051f16716944a2a51
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Dec 8 01:47:13 2009 +1030
eventscript: expost call names and enum
We're going to need this so ctdb can query non-monitor status.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 93153bca68926401dc9ae7fd77ed3f17be923344
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Dec 8 01:32:36 2009 +1030
eventscript: lock logging on timeout.
Ronnie suggested this; seems like a very good idea.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 47ffe75848f216568ce3db0a60ca88cfe3d6903a
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Dec 8 01:31:53 2009 +1030
ctdb: support --machinereadable (-Y) for scriptstatus
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit c1ba1392fe52762960e896ace0aca0ee4faa94d5
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Dec 8 12:29:10 2009 +1030
eventscript: get rid of ctdb_control_event_script_finished altogether
We always have to call it before freeing the state; we should just do
this work in the destructor itself.
Unfortunately, the script state would already be freed by the time
the state destructor is called, so we make the script state a child of
ctdb, and talloc_free() it manually on the one path which doesn't use
the destructor.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit c73ea56275d4be76f7ed983d7565b20237dbdce3
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Dec 8 12:27:48 2009 +1030
eventscript: save state for all script invocations
Rather than only tranferring to last_status for monitor events, do
it for every event (ctdb->last_status is now an array).
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 4cf1b7c32bcf7e4b65aec1fa7ee1a4b162cac889
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Dec 8 12:24:56 2009 +1030
eventscript: cleanup finished to take state arg
We only need ctdb->current_monitor so we can kill it when we want to run
something else; we don't need to use it here as we always know what script
we are running.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit fd2f04554e604bc421806be96b987e601473a9b8
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Dec 8 12:48:17 2009 +1030
eventscript: use wire format internally for script status.
The only difference between the exposed an internal structure now is
that the name and output fields were pointers. Switch to using
ctdb_scripts_wire/ctdb_script_wire internally as well so marshalling
is a noop.
We now reject scripts which are too long and truncate logging to the
511 characters we have space for (the entire output will be in the
normal ctdbd log).
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit f5cb41ecf3fa986b8af243e8546eb3b985cd902a
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Dec 8 00:51:24 2009 +1030
eventscript: rename ctdb_monitoring_wire to ctdb_scripts_wire
We're going to allow fetching status of all script runs, so this
name is no longer appropriate.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit e9661b383e0c50b9e3d114b7434dfe601aff5744
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Dec 8 12:47:24 2009 +1030
eventscript: get_current_script() helper
This neatens the code slightly. We also use the name 'current' in
ctdb_event_script_handler() for uniformity.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 76e8bdc11b953398ce8850de57aa51f30cb46bff
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Dec 8 12:47:05 2009 +1030
eventscript: use an array rather than a linked list of scripts
This brings us closer to the wire format, by using a simple array
and a 'current' iterator.
The downside is that a 'struct ctdb_script' is no longer a talloc
object: the state must be passed to our log fn, and the current
script extracted with &state->scripts->scripts[state->current].
The wackiness of marshalling is simplified, and as a bonus, we can
distinguish between an empty event directory
(state->scripts->num_scripts == 0) and and error (state->scripts ==
NULL).
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit c476c81f3e3d8fc62f2e53d82fce5774044ee9ce
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Dec 8 12:46:18 2009 +1030
eventscript: record script status for all events
This unifies almost everything: the state->current pointer points to
the struct ctdb_script where we record start, finish, status and
output.
We still only marshall up the monitor events; the rest disappear when
the state structure is freed.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit b2a300768536d10bd867a987ad4cf1c5268c44bc
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Dec 8 12:45:17 2009 +1030
eventscript: use scripts array directly, rather than separate list
We rename ctdb_monitor_script_status to ctdb_script, and instead of
allocating them as the scripts are executed, we allocate them up front
and keep a "current" interator.
This slightly simplifies the code, though it means we only marshall up
to the last successfully run script.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 32cfdc3aec34272612f43a3588e4cabed9c85b68
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Dec 8 12:44:30 2009 +1030
eventscript: ctdb_fork_with_logging()
A new helper functions which sets up an event attached to the child's
stdout/stderr which gets routed to the logging callback after being
placed in the normal logs.
This is a generalization of the previous code which was hardcoded to
call ctdb_log_event_script_output.
The only subtlety is that we hang the child fds off the output buffer;
the destructor for that will flush, which means it has to be destroyed
before the output buffer is.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 497766cf186442de00fb324343150442457be858
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Dec 8 00:31:29 2009 +1030
eventscript: pass struct ctdb_log_state directly to ctdb_log_handler().
The current logging logic assumes that any stdout/stderr belongs to
the currently running monitor script output. This isn't quite right
anyway, and we'd like to capture stderr output of other script
invocations.
So we move towards multiple struct ctdb_log_state by handing it
directly to ctdb_log_handler to use, rather than having it assume
ctdb->log. We need a ctdb pointer inside the log struct now though.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 391926a87a7af73840f10bb314c0a2f951a0854c
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Dec 8 00:27:40 2009 +1030
eventscript: remove unused ctbd_ctrl_event_script*
The child no longer uses ctdb_ctrl_event_script_init or
ctdb_ctrl_event_script_finished, and the others are redundant: it
doesn't need to tell us it's starting a script when it only runs one.
We move start and stop calls to the parent, and eliminate the RPC
infrastructure altogether.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 814704a3286756d40c2a6c508c1c0b77fa711891
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Dec 8 00:22:55 2009 +1030
eventscript: refactor forking code into fork_child_for_script()
We do the same thing in two places: fire off a child from the initial
ctdb_event_script_callback_v() and also from the ctdb_event_script_handler()
when it's done.
Unify this logic into fork_child_for_script().
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 0fafdcb8d3532a05846abaa5805b2e2f3cee8f47
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Dec 8 00:21:25 2009 +1030
eventscript: fork() a child for each script.
We rename child_run_scripts() to child_run_script(), because it now
runs a single script rather than walking the list. When it's
finished, we fork the next child from the ctdb_event_script_handler()
callback.
ctdb_control_event_script_init() and ctdb_control_event_script_finished()
are now called directly by the parent process; the child still calls
ctdb_ctrl_event_script_start() and ctdb_ctrl_event_script_stop() before
and after the script.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 020fd21e0905e7f11400f6537988645987f2bb32
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Dec 8 00:15:18 2009 +1030
eventscript: store from_user and script_list inside state structure
This means all the state about running the scripts is in that structure,
which helps in the next patch.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 9a2b4f6b17e54685f878d75bad27aa5090b4571f
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Dec 8 00:14:01 2009 +1030
eventscript: use direct script state pointer for current monitor
We put a "scripts" member in ctdb_event_script_state, rather than using
a special struct for monitor events. This will fit better as we further
unify the different events, and holds the reports from the child process
running each monitor script.
Rather than making the monitor state a child of current_monitor_status_ctx,
we just point current_monitor directly at it. This means we need to reset
that pointer in the destructor for ctdb_event_script_state.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 0d925e6f2767691fa561f15bbb857a2aec531143
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Dec 8 00:09:20 2009 +1030
eventscript: make current_monitor_status_ctx serve as monitor_event_script_ctx
We have monitor_event_script_ctx and other_event_script_ctx, and
current_monitor_status_ctx in struct ctdb_context. This seems more
complex than it needs to be.
We use a single "event_script_ctx" as parent for all event script
state structures. Then we explicitly reparent monitor events under
current_monitor_status_ctx: this is freed every script invocation to
kill off any running scripts anyway.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit bfee777faff75e9bed4aedc1558957483616a6d3
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Mon Dec 7 23:55:03 2009 +1030
eventscript: split ctdb_run_event_script into multiple parts
Simple refactoring in preparation for switching to one-child-per-script.
We also call the functions run by the child process "child_".
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 816b9177f51ae5b21b92ff4a404f548fe9723c96
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Mon Dec 7 23:53:35 2009 +1030
eventscript: hoist work out of child process, into parent
This is the start of a move towards finer-grained reporting, with one
child per script. Simple code motion to do sanity check and get the
list of scripts before fork().
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit e6488c0e05bab5c4c2c0a6370930b0b27e5ed56e
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Mon Dec 7 23:52:01 2009 +1030
eventscript: don't make ourselves healthy if we're under ban_count
If we've timed out, but we've not timed out more than
ctdb->tunable.script_ban_count, we pretend we haven't.
There's a logic bug in the way this is done: if we were unhealthy before,
this would set us to "healthy" again (status == 0). I don't think this
would happen in real life, but it's a little surprising.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 9ecee127e19a9e7cae114a66f3514ee7a75276c5
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Mon Dec 7 23:48:57 2009 +1030
eventscript: handle banning within the callbacks
Currently the timeout handler in eventscript.c does the banning if a
timeout happens. However, because monitor events are different, it has
to special case them.
As we call the callback anyway in this case, we should make that handle
-ETIME as it sees fit: for everyone but the monitor event, we simply ban
ourselves. The more complicated monitor event banning logic is now in
ctdb_monitor.c where it belongs.
Note: I wrapped the other bans in "if (status == -ETIME)", though they
should probably ban themselves on any error. This change should be a
noop.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit a305cb7743c24386e464f6b2efab7e2108bb1e7e
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Mon Dec 7 23:18:40 2009 +1030
eventscript: expost ctdb_ban_self()
eventscript.c uses this now, but our next patch makes others use it.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 024386931bda9757079f206238ae09bae4de6ea2
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Mon Dec 7 23:17:23 2009 +1030
eventscript: handle v. unlikely timeout race
If we time out just as the child exits, we currently will report an
uninitialized cb_status field. Set it to -ETIME as expected.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 1269458547795c90d544371332ba1de68df29548
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Mon Dec 7 23:15:56 2009 +1030
eventscript: replace other -1 returns with -errno
This completes our "problem with script" reporting; we never set cb_status
to -1 on error. Real errnos are used where the failure is a system call
(eg. read, setpgid), otherwise -EIO is used if we couldn't communicate with
the parent.
The latter case is a bit useless, since the parent probably won't see
the error anyway, but it's neater.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit ec36ced9446da7e3bf866466d265ee8e18f606c1
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Mon Dec 7 23:13:12 2009 +1030
eventscript: simplify ctdb_run_event_script loop
If we break, we avoid cut & paste code inside the loop. Need to initialize
ret to 0 for the "no scripts" case.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 5d894e1ae5228df6bbe4fc305ccba19803fa3798
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Mon Dec 7 23:12:19 2009 +1030
eventscript: handle and report generic stat/execution errors
Rather than ignoring deleted event scripts (or pretending that they were "OK"),
and discarding other stat errors, we save the errno and turn it into a negative
status.
This gives us a bit more information if we can't execute a script (eg.
too many symlinks or other weird errors).
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit eadf5e44ef97d7703a7d3bce0e7ea0f21cb11f14
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Mon Dec 7 23:11:47 2009 +1030
eventscript: use -ENOEXEC for disabled status value
This unifies code paths and simplifies things: we just hand -ENOEXEC to
ctdb_ctrl_event_script_stop().
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 0a53d6b5ac81daf0efa32f35e7758ede2a5bdb63
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Mon Dec 7 23:09:02 2009 +1030
eventscript: enhance script delete race check
We currently assume 127 == script removed. The script can also return 127;
best to re-check the execution status in this case (and for 126, which will
happen if the script is non-executable).
If the script is no longer executable/not present, we ignore it.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 8ddb97040842375daf378cbb5816d0c2b031fa65
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Mon Dec 7 23:09:39 2009 +1030
eventscript: check_executable() to centralize stat/perm checks
This is used later in the "script vanished" check.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 76a0ca77feba14e1e1162c195ffbdf516e62aa4d
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Mon Dec 7 23:05:58 2009 +1030
talloc: save errno over talloc_free
As we start to use errno more, it's a huge pain if talloc_free() can blatt
it (esp. destructors).
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 0eb1d0aa14e68b598d9e281c8a02b8f94a042fd9
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Mon Dec 7 23:09:42 2009 +1030
eventscript: use -ETIME for timeout status value
This starts the move toward more expressive encoding of return values:
positive values mean the script ran, negative means we had a problem with
the script (and the value is the errno).
This does timeout, but changes the ctdb tool to recognize it.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 6be931266a4e41fd0253f760936ad9707dd97c47
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Mon Dec 7 23:09:40 2009 +1030
eventscript: marshall onto last_status immediately
This simplifies the code a little: last_status is now read to go
(it's only used by the scriptstatus command at the moment).
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit fff280878e670e93a818c0071f3172056214e8c4
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Dec 7 19:04:41 2009 +1100
version 1.0.108
commit 7c95e56ba871a4e0cb893a5cb5d821e7ff6e6dd6
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Dec 7 18:27:46 2009 +1100
Use wbinfo --ping-dc isntead of wbingo -p sicne this is a more reliable way to determine if winbindd is in a useful state.
commit b796d736946856abfbe53de95dfcd73072ee8ccd
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 4 23:18:12 2009 +0100
packaging: package tests/bin/ctdb_transaction under /usr/share/doc/tests/bin
For testing/diagnostic purposes.
Michael
commit d971b2ca84c0451dc7e5acbf4a5ade06270a2044
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 4 00:19:44 2009 +0100
client: improve two error messages in ctdb_transaction_commit().
Michael
commit 59faf3f923a5989b5ee94ef02a12827412775bae
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 4 00:06:34 2009 +0100
server:trans2_commit: move the check for active recovery down.
This needs to be done after the control-dispatcher:
In the TRANS2_COMMIT control, the client->db_id needs
to be set before bailing out, since otherwise the
next TRANS2_COMMIT_RETRY will fail...
Michael
commit c23d804165e84bdf95ba960c953c736d361011d7
Author: Michael Adam <obnox at samba.org>
Date: Thu Dec 3 00:28:32 2009 +0100
client: increase the number of commit retries 10-->100
To cope with timeouts when recoveries and transactions collide.
Maybe 100 is too high.
Michael
commit 428914377851a98b3fc893798783fbfebffc1c0d
Author: Michael Adam <obnox at samba.org>
Date: Thu Dec 3 00:27:34 2009 +0100
client: untangle checks and produce more detailed error messages
in ctdb_transaction_fetch_start
Michael
commit 03a5bb727b9db1ba952632f08ceb5355f0df842d
Author: Michael Adam <obnox at samba.org>
Date: Thu Dec 3 00:26:52 2009 +0100
client: increase the rsn of the __transaction_lock__ when storing
So that it is correctly handled by recoveries.
Also explicitly set the dmaster field to the current node's pnn.
Michael
commit 8aef46d2aab3efb322dda51eaa202653cefd5222
Author: Michael Adam <obnox at samba.org>
Date: Fri Dec 4 11:21:29 2009 +0100
recovery: add special pull-logic for persistent databases
The decision mechanism which records of a persistent db
are to be pulled into the recdb during recovery is now
as follows:
* Usually a record with the higher rsn than that already
stored is taken. (Just as for normal tdbs.)
* If a transaction is running on some node, then those
nodes copies of all records are taken and are not
overwritten later by other nodes' copies.
In order to keep track of whether a record's copy was obtained
from a node with a transaction running, the recovery mechanism
misuses the ctdb tdb header field 'lacount' in the recdb.
It is cleared later when pushing out the recdb database to the
other nodes.
This way, an incomplete transaction is not spoiled when
a recovery interrupts and the replay should usually succeed
(possibly after a few retries).
Michael
commit e5496a83ef4a01604195b27c4b97f50d4979510e
Author: Michael Adam <obnox at samba.org>
Date: Thu Dec 3 00:25:16 2009 +0100
make ctdb_ctrl_transaction_active public.
Michael
commit fe68972eb9cf3aa1f16ba1aacf57ade5d66e647c
Author: Michael Adam <obnox at samba.org>
Date: Sun Nov 29 11:17:18 2009 +0100
recovery: for persistent db's don't set the dmaster to the recmaster node number
It is important to keep track of the dmaster (i.e. the node that last committed
a transaction containing changes to this node).
Michael
commit 90abc4ac7c16e854cf6e8f96b60a77bc92e35e07
Author: Michael Adam <obnox at samba.org>
Date: Sun Nov 29 11:14:31 2009 +0100
recovery: pass the persistent flag to recover_database()
and further down to pull_remote_database(), pull_one_remote_database(),
and push_recdb_database().
This is in preparation of special handling of persistent databases
during recoveries.
Michael
commit 4113385865f53a57b18ea752a7dad8a08bed588e
Author: Michael Adam <obnox at samba.org>
Date: Sun Nov 29 11:07:36 2009 +0100
tests:ctdb_transaction: print an extra counters when a commit fails
Michael
commit b9882710e12f28c96a0af298e419160f00578241
Author: Michael Adam <obnox at samba.org>
Date: Sun Nov 29 10:38:33 2009 +0100
client: in catdb, print the keyname first, and separate records by a blank line
Michael
commit 574702f8d701fe3e493b31948420b2981eb36f93
Author: Michael Adam <obnox at samba.org>
Date: Tue Dec 1 23:54:12 2009 +0100
packaging: remove the lib/popt from the tarball in debian mode
Debian CTDB packaging fails when this is included.
Michael
commit 41aa9bdfa2934f564bdc14374362437dfad0045f
Author: Michael Adam <obnox at samba.org>
Date: Tue Dec 1 23:51:51 2009 +0100
packaging: rework maketarball.sh to accept an arbitrary githas to pack
The githash can be specified through the environment variable "GITHASH"
that can contain a commit hash or a tag name, e.g.
The call syntax is now
[GITHASH=xyz] [USE_GITHASH=yes/no] [DEBIAN_MODE=yes/no] maketarball.sh
Michael
commit 5a7c1e7f15693522bbf1c39a53be2304ece9a134
Author: Michael Adam <obnox at samba.org>
Date: Sun Nov 29 04:05:03 2009 +0100
ctdb: add command "ctdb wipedb" to wipe the contents of an attached tdb
Michael
commit 0e130d79ab71cf3aa65c40af91866823246a0283
Author: Michael Adam <obnox at samba.org>
Date: Thu Oct 29 22:40:50 2009 +0100
tests: turn printfs into DEBUG statements in the ctdb_transaction test
Michael
commit 5fc297a6bd49d9366703eef3edb9bdf0fe8505cc
Merge: cc99c05c0c6484ad574039a454e6133852cb41fa 9ea261f791ab919eb1ce5b37073b4f1d30694bb8
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Dec 4 14:44:46 2009 +1100
Merge branch 'status-test-2'
commit cc99c05c0c6484ad574039a454e6133852cb41fa
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Dec 4 11:45:37 2009 +1100
Dont store debug level DEBUG_DEBUG in the in-memory ringbuffer.
It is unlikely we will need something this verbose for normal troubleshooting.
This allows us to keep a significantly longer time interval of log messages
in the 500k slots available in the ringbuffer.
commit c5cbb95512f034abeec515579983bf7ac55eadd9
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Dec 4 11:36:27 2009 +1100
Use statically allocated ringbuffer to store the last 500k log entries
in memory instead of dynamically allocated ones so that we reduce the pressure
on malloc/free.
commit 0a0526e03ef995b6b6634f5b75c7a17cb7b5df8f
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Dec 4 08:33:56 2009 +1100
Document the procedure to remove/change the NATGW configuration at
runtime without restarting the ctdb service
commit 17fa252d0d6981fbae8083a818f26d5ce9c5102e
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Wed Dec 2 16:15:57 2009 +1030
eventscript: reduce code duplication for ending a script, and fix bug
Commit 50c2caed57c0 removed a gratuitous talloc_steal from the code in
ctdb_control_event_script_finished(), but not ctdb_event_script_timeout().
Easiest to call ctdb_control_event_script_finished() at the bottom of the
timeout routine.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 2027cf3881ba890648c543bacbfd5b06464efc10
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Dec 2 14:53:21 2009 +1100
lower the loglevel for the message that a client has attached to a persistent database
commit de9e5236b20d70eac5ed29991703d6d25a103963
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Dec 2 14:51:57 2009 +1100
lower the loglevel for the message that a client has attached through a domian socket
commit 157807af72ed4f7314afbc9c19756f9787b92c15
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Dec 2 13:58:27 2009 +1100
Add a proper function to process a process-exist control in the daemon.
This controls is only used by samba when samba wants to check if a subrecord held by a <node-id>:<smbd-pid> is still valid or if it can be reclaimed.
If the node is banned or stopped, we kill the smbd process and return that the process does not exist to the caller. This allows us to recover subrecords from stopped/banned nodes where smbd is hung waiting for the databases to thaw.
bz58185
commit f75d379377f5d4abbff2576ddc5d58d91dc53bf4
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Dec 2 13:41:04 2009 +1100
Add a double linked list to the ctdb_context to store a mapping between client pids and client structures.
Add the mapping to the list everytime we accept() a new client connection
and set it up to remove in the destructor when the client structure is freed.
commit b4a7efa7e53e060a91dea0e8e57b116e2aeacebf
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Dec 2 13:17:12 2009 +1100
Use the PID we pick up from the domain socket when a client connects
and store this in the client structure.
There is no need to rely on the hack that samba sends some special message
handle registrations that encodes the pid in the srvid any more.
This might not work on AIX since I recall some issues to get the pid in
this way on that platform.
commit 22f00368b4cb3a6bfb92033a7dbe693d31b41a54
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Dec 2 11:28:42 2009 +1100
version 1.0.107
commit 4d0523dd94fb07e860b3e8118691f93d1ef8d0fa
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Wed Dec 2 08:57:42 2009 +1030
ctdb_io: fix use-after-free on invalid packets
Wolfgang saw a talloc complaint about using freed memory in ctdb_tcp_read_cb.
His fix was to remove the talloc_free() in that function, which causes
loops when a socket is closed (as it does not get removed from the event
system), eg:
netcat 192.168.1.2 4379 < /dev/null
The real bug is that when we have more than one pending packet in the
queue, we loop calling the callback without any safeguards should that
callback free the queue (as it tends to do on invalid packets). This
can be reproduced by sending more than one bogus packet at once:
# Length word at start: 4 == empty packet (assumed little endian)
/usr/bin/printf \\4\\0\\0\\0\\4\\0\\0\\0 > /tmp/pkt
netcat 192.168.1.2 4379 < /tmp/pkt
Using a destructor we can check if the callback frees us, and exit
immediately. Elsewhere, we return after the callback anyway.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit b5a21fd39269a6e2a9d1c8182dd42a1773ccbb3f
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Dec 2 11:26:51 2009 +1100
version 1.0.106
commit 9ea261f791ab919eb1ce5b37073b4f1d30694bb8
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Dec 1 18:08:57 2009 +1100
Eventscripts: Fix syntax error in 00.ctdb.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 83e7c161efa93cd7acdfc803142b4fb3bfde7538
Author: Michael Adam <obnox at samba.org>
Date: Thu Nov 26 08:35:20 2009 +0100
packaging:maketarball.sh: add a DEBIAN_MODE to the tarball creation
It is triggered by setting DEBIAN_MODE=yes in the environment.
This creates a tarball suitable for use in debian packages.
The differences from the standard tarball are these:
* The tar ball file is called ctdb_VERSION.orig.tar.gz
* The base directory in the tar ball is ctdb-VERSION.orig/
Michael
commit bc8aee079e09164e06533a1474f5e9d899795933
Author: Michael Adam <obnox at samba.org>
Date: Thu Nov 26 08:34:44 2009 +0100
configure:maketarball.sh: call autogen.sh and include configure in the tarball
Michael
commit bb8d02abd88899d259085b9b23fa52accb222be9
Author: Michael Adam <obnox at samba.org>
Date: Thu Nov 26 08:32:24 2009 +0100
packaging:maketarball.sh: create the specfile from the ctdb.spec.in
Michael
commit 4c6e68ae942c05224c5f8b683fbc2dc1adced8ee
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Dec 1 17:54:45 2009 +1100
Eventscripts: Remove executable bit accidently set on some scripts.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 3d55408cbbb3bb71670b80f3dad5639ea0be5b5b
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Dec 1 17:43:47 2009 +1100
Eventscript argument cleanups and introduction of ctdb_standard_event_handler.
The functions file no longer causes a side-effect by doing a shift.
It also doesn't set a convenience variable for $1.
All eventscripts now explicitly use "$1" in their case statement, as
does the initscript. The absence of a shift means that the
takeip/releaseip events now explicitly reference $2-$4 rather than
$1-$3.
New function ctdb_standard_event_handler handles the status and
setstatus events, and exits for either of those events. It is called
via a default case in each eventscript, replacing an explicit status
case where applicable.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 4f50aa8bb8be544058523f2f544109a26c2b3b51
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Dec 1 16:06:59 2009 +1100
when we detect a ip-allocation mismatch, just force a new ip reassignment
instead of a full blown recovery
commit 821333afb458358f90446062b0242790695e5060
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Dec 1 13:19:58 2009 +1100
When starting up ctdbd, wait until all initial recoveries have finished
and until we have gone through a full re-recovery timeout without triggering
any pending recoveries before we start up the services and start monitoring
the node.
commit e9b3477a5b9a2eff18f727e7d59338bfb5214793
Merge: 12b187f971d857353403393a9850503e0e558672 a1f37fdc5217e57d2d643d77a811afca747685e0
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Dec 1 10:53:18 2009 +1100
Merge commit 'martins/status-test-2'
Conflicts:
server/eventscript.c
commit a1f37fdc5217e57d2d643d77a811afca747685e0
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Nov 27 15:57:33 2009 +1100
Event scripts: functions file now intercepts status and setstatus.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 16db4882635d84b8410a77e2ea8b08d0a257b0ab
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Nov 27 13:35:39 2009 +1100
remove a stray ) so we compile
commit 50c2caed57c0520f506eaaeeb0bba2c272da6ef6
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Nov 27 13:28:31 2009 +1100
dont use talloc_steal() on a object that is already a child of ctdb.
commit 937823cc73eb098230acff4b1583f6d01f26c21a
Merge: 28d0648725e7de4e4d0e8569e3fbfb0fa1d7f934 0e6c06ac38fd82adf124d111717502055501974a
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Nov 27 12:50:45 2009 +1100
Merge commit 'martins/status-test' into status-test-2
commit 0e6c06ac38fd82adf124d111717502055501974a
Merge: 143f1fa3cc4588505e3992c601153ea08be8432d c278c798d41a35f58ca81f8f0e08e4dab51eba9b
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Nov 27 12:49:31 2009 +1100
Merge commit 'martins-svart/status-test-2' into status-test
commit c278c798d41a35f58ca81f8f0e08e4dab51eba9b
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Nov 27 12:04:02 2009 +1100
Event script infrastructure: add reload event to check_options().
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 28d0648725e7de4e4d0e8569e3fbfb0fa1d7f934
Merge: d3e7407dc9854ec358d081777c5450ec68b17862 143f1fa3cc4588505e3992c601153ea08be8432d
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Nov 26 16:26:25 2009 +1100
Merge commit 'martins/status-test' into status-test-2
commit 143f1fa3cc4588505e3992c601153ea08be8432d
Merge: a2830594ebeb54eb51ff90999cb12370aeec6e8b a1d654a982ca56fade82552f4e6b5586236d3233
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Nov 26 16:25:15 2009 +1100
Merge commit 'martins-svart/status-test-2' into status-test
commit a1d654a982ca56fade82552f4e6b5586236d3233
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Nov 26 15:49:49 2009 +1100
Add flag to ctdb_event_script_callback indicating when called by client.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit d3e7407dc9854ec358d081777c5450ec68b17862
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Nov 26 13:42:12 2009 +1100
resolve some conflicts from merging from martins branch
commit 12b187f971d857353403393a9850503e0e558672
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Nov 26 12:08:35 2009 +1100
change the lock wait child handling to use a pipe isntead of a socketpair
remove a stray alarm(30) that caused databases to be unlocked after 30 seconds.
commit a2830594ebeb54eb51ff90999cb12370aeec6e8b
Merge: 2e60749de3714239224cc04170a9aeeee158153f 517e9d9b188b18dffc712a8fecddb41540d27b8d
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Nov 26 10:49:47 2009 +1100
Merge commit 'martins-svart/status-test-2' into status-test
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 517e9d9b188b18dffc712a8fecddb41540d27b8d
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Nov 25 16:42:14 2009 +1100
Event scripts: use $script_name rather than $service name for status.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 5d97c07be13a8209a81dfc8f73e49371949e4dc3
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Nov 25 16:34:49 2009 +1100
Event scripts: Respect CTDB_MANAGES_NFS and add function log_status_cat.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 3c93336ab92c2e4829ff4dc360045bfa6df21d50
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Nov 20 16:45:36 2009 +1100
More eventscript cleanups. Initial smoke testing seems OK.
Apart from lots of cleanup work, this also fixes a bug where the share
checks didn't used to cope with directory names containing spaces.
The previous commit also loaded the config incorrectly.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 862526e558099fad4c8259cb88da9b776aa7f80d
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Nov 25 11:54:40 2009 +1100
use a binary tree and sort all ipv4/v6 addresses before we assign them out on nodes.
commit 1d24a3869fe89fc9a109fd9e9b69df5fc665a5f6
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Wed Nov 25 11:02:29 2009 +1030
eventscript: check that ctdb forced script events correct
Now we're doing checking, we might as well make sure the commands from
"ctdb eventscripts" are valid.
This gets rid of the "UNKNOWN" event type.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 10a3680fb3917ecafc824e73872eace321026172
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Nov 25 08:03:42 2009 +1100
iIt is better to plainly disallow clietnts from connecting here
if the node is BANNED.
Dont even let them attach at all
to the database
Revert "temporarily try allowing clients to attach to databases even if
the node is banned/stopped or inactive in any other way."
This reverts commit 227fe99f105bdc3a4f1000f238cbe3adeb3f22f0.
commit 2e60749de3714239224cc04170a9aeeee158153f
Merge: 35a60a63a9b5c7d98dde514ae552239506b691c9 66b22980b14601f29fe8cc64bd8f29883c7ca1c0
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Nov 24 16:14:54 2009 +1100
Merge commit 'origin/status-test' into status-test
commit 66b22980b14601f29fe8cc64bd8f29883c7ca1c0
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Nov 24 11:24:22 2009 +1030
eventscript: check that ctdb forced script events correct
Now we're doing checking, we might as well make sure the commands from
"ctdb eventscripts" are valid.
This gets rid of the "UNKNOWN" event type.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 83b7b233cb4707e826f6ba260bd630c8bc8f1e76
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Nov 24 11:23:13 2009 +1030
eventscript: check that internal script events are being invoked correctly
This is not as good as a compile-time check, but at least we count the
number of arguments are correct.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit a6d353519932eee48f9241ad8887b692882906c9
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Nov 24 11:23:13 2009 +1030
eventscript: check that internal script events are being invoked correctly
This is not as good as a compile-time check, but at least we count the
number of arguments are correct.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 33fb0e7ba047ca73969b59bccf70a04a17c25a0a
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Nov 24 11:22:46 2009 +1030
eventscript: remove call name from state->options
Finally, we remove the call name (eg. "monitor" or "start") from the
options field of the struct: it now contains only extra options.
This is clearer, and mainly involves adding some %s to debug statements.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit b0648c7f08eba87ec3c9714e2525c9b621bfb4ef
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Nov 24 11:22:46 2009 +1030
eventscript: remove call name from state->options
Finally, we remove the call name (eg. "monitor" or "start") from the
options field of the struct: it now contains only extra options.
This is clearer, and mainly involves adding some %s to debug statements.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 6c79fa33e26cc4f0873577f8e122b1495b4c427e
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Nov 24 11:19:58 2009 +1030
eventscript: put call type into state struct.
This means we can get rid of more strcmp; they can simply use the
state->call value instead.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 834c93b3e1b8f4151b8a2cd82c2dd8bacc17f66c
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Nov 24 11:19:58 2009 +1030
eventscript: put call type into state struct.
This means we can get rid of more strcmp; they can simply use the
state->call value instead.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 8001488be4f2beb25e943fe01b2afc2e8779930d
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Nov 24 11:16:49 2009 +1030
eventscript: introduce enum for different event script calls.
Rather than doing strcmp everywhere, pass an explicit enum around. This
also subtly documents what options are available. The "options" arg
is now used for extra arguments only.
Unfortunately, gcc complains on empty format strings, so we make
ctdb_event_script() take no varargs, and add ctdb_event_script_args(). We
leave ctdb_event_script_callback() taking varargs, which means callers
have to do "%s", "".
For the moment, we have CTDB_EVENT_UNKNOWN for handling forced scripts
from the ctdb tool.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 470822b329f9d3ca9bef518b56e9ce28d5fedda2
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Nov 24 11:16:49 2009 +1030
eventscript: introduce enum for different event script calls.
Rather than doing strcmp everywhere, pass an explicit enum around. This
also subtly documents what options are available. The "options" arg
is now used for extra arguments only.
Unfortunately, gcc complains on empty format strings, so we make
ctdb_event_script() take no varargs, and add ctdb_event_script_args(). We
leave ctdb_event_script_callback() taking varargs, which means callers
have to do "%s", "".
For the moment, we have CTDB_EVENT_UNKNOWN for handling forced scripts
from the ctdb tool.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 533c3e053293941d2a9484b495e78d45f478bb08
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Nov 24 11:09:46 2009 +1030
eventscript: put timeout inside ctdb_event_script_callback_v
Everyone uses the same timeout value, so just remove it from the API.
If we ever need variable timeouts, that might as well be central too.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit fe8027309c1f7b987cd368fa98f9b28741baa786
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Nov 24 11:09:46 2009 +1030
eventscript: put timeout inside ctdb_event_script_callback_v
Everyone uses the same timeout value, so just remove it from the API.
If we ever need variable timeouts, that might as well be central too.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 466beafadb37011fe273de8810ab0012e92a1fd8
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Nov 24 11:09:01 2009 +1030
eventscript: cleanup ctdb_event_script_v
ctdb_event_script_v doesn't take varargs. ctdb_run_event_script is
a better name, and fix comment.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit e7d57d7ae678b24dab3364a348838c6a3398942c
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Nov 24 11:08:39 2009 +1030
eventscript: typo cleanups
1) ctdb_event_script_v doesn't take varargs. ctdb_run_event_script is
a better name, and fix comment.
2) Fix indentation on allowed_scripts.
3) Comment on run_eventscripts_callback is wrong; it's the callback
for any ctdb forced event.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit b90bdb07c1f6913ddbf11bde9684bdc8af61c549
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Nov 24 11:06:53 2009 +1030
eventscript: fix bug in timeouts on forced eventscripts. Again.
In 15bc66ae801b0c69, Ronnie fixed a double-free race. The problem was that
ctdb_run_eventscripts() hands a context to ctdb_event_script_callback() to
hang its data off, which gets freed in the callback. This particularly
hurt in ctdb_event_script_timeout.
There's nothing wrong with this, but obviously we should make the callback
call last of all. At the time, ctdb_event_script_timeout() carefully
extracted everything from the struct ctdb_event_script_state before
calling ->callback.
This was cleaned up in 64da4402c6ad485f (Ronnie again), and now state
was referred to after the callback again. But the same change introduced
a direct use-after-free bug which caused an occasional oops.
So in our last episode (eda052101728cf92) Volker fixed this, and Michael
committed it.
But we still have the double free bug which 15bc66ae801b0c69 was supposed
to fix! Let's try to fix this in a more permanent way, but always doing
the callback from the destructor. This means we need to hold the status,
and don't send the KILL signal if ->child is set to 0.
Finally, add a comment about freeing ourselves in run_eventscripts_callback
and the structure definition.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 20b15de068d042b292725945927ceda1b01d07c0
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Nov 24 11:06:53 2009 +1030
eventscript: fix bug in timeouts on forced eventscripts. Again.
In 15bc66ae801b0c69, Ronnie fixed a double-free race. The problem was that
ctdb_run_eventscripts() hands a context to ctdb_event_script_callback() to
hang its data off, which gets freed in the callback. This particularly
hurt in ctdb_event_script_timeout.
There's nothing wrong with this, but obviously we should make the callback
call last of all. At the time, ctdb_event_script_timeout() carefully
extracted everything from the struct ctdb_event_script_state before
calling ->callback.
This was cleaned up in 64da4402c6ad485f (Ronnie again), and now state
was referred to after the callback again. But the same change introduced
a direct use-after-free bug which caused an occasional oops.
So in our last episode (eda052101728cf92) Volker fixed this, and Michael
committed it.
But we still have the double free bug which 15bc66ae801b0c69 was supposed
to fix! Let's try to fix this in a more permanent way, but always doing
the callback from the destructor. This means we need to hold the status,
and don't send the KILL signal if ->child is set to 0.
Finally, add a comment about freeing ourselves in run_eventscripts_callback
and the structure definition.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit 6804f880436645b52c09a78fa300377fa8058d0e
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Nov 24 11:00:13 2009 +1030
eventscript: clean up forked handler event code
Write the whole int through the pipe, rather than quietly cutting it
off. Also, use -2 as the result if the read fails; -1 comes from many
paths if the child fails before running the script.
Add a comment about why we don't need to check the write.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit defbe318152fc479e8076ad70433cdb4971951af
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Nov 25 11:00:11 2009 +1030
rework and simplify the eventscript handling
This version has no trailing whitespace, and fixed
commit c715746c2f40eb9b21dbf011d16f1f1b0b53fdf9
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Nov 24 11:00:13 2009 +1030
eventscript: clean up forked handler event code
Write the whole int through the pipe, rather than quietly cutting it
off. Also, use -2 as the result if the read fails; -1 comes from many
paths if the child fails before running the script.
Add a comment about why we don't need to check the write.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit fbc453733d53359b9eba34a7ca9123237a7ecca5
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Nov 24 09:27:22 2009 +1100
reduce the log level for three vacuuming related log messages
commit c5f798116bf3b7954e23c7267b056ee1f5560f45
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Nov 24 07:40:51 2009 +1100
rework and simplify the eventscript handling
commit 35a60a63a9b5c7d98dde514ae552239506b691c9
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Nov 20 16:45:36 2009 +1100
More eventscript cleanups. Initial smoke testing seems OK.
Apart from lots of cleanup work, this also fixes a bug where the share
checks didn't used to cope with directory names containing spaces.
The previous commit also loaded the config incorrectly.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit f1e350f9edb74cc44b6c5be4c062fd93e98ba8c4
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Nov 19 16:48:19 2009 +1100
Now vaguely tested initscript updates.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit ac655b0a65b32d809d47fec9821f7f31bb2fe2a7
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Nov 19 15:00:17 2009 +1100
More untested eventscript factorisation.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit c4b05a731e1bee8f5b46529773a4f5389b2b6064
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Nov 19 14:54:05 2009 +1100
Test suite: Make the CIFS tickle test wait until it sees the required tickle.
The test depended on the exit code of "ctdb gettickles", which always
succeeds. This change wraps the command in a function that checks
whether the tickle we're interested in is registered.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 5fdf842db09cd806248cdbdce2270f39ed213872
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Nov 19 11:08:14 2009 +1100
new version 1.0.105
commit 80a8d728e9680040e00d24361dfc9367dd372a56
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Nov 19 11:03:51 2009 +1100
dont reset the event script context everytime we start a new "ctdb eventscript ..."
command.
Use the existing context used for non-monitor events
Multiple concurrent uses of "ctdb eventscript ..." could otherwise lead to a SEGV
commit 6427f0b68d60b556a023f64e15e156000ba6f943
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Nov 18 19:10:50 2009 +1100
make the ringbuffer logging more efficient and marshall the data by writing to a tmpfile instead of continously talloc resizing a blob
commit 29d2ee8d9c6c6f36b2334480f646d6db209f370e
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Nov 18 12:44:18 2009 +1100
add an in memory ringbuffer where we store the last 500000 log entries regardless of log level.
add commandt to extract this in memory buffer and to clear it
commit 354c0edacf2d6cec5b295e139d4fec618bad1b06
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Nov 17 12:07:10 2009 +1100
create a new event context for the syslog daemon
commit cb8df973ccd446d87fbdd9a27843e54841ba5d89
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Nov 16 15:17:32 2009 +1100
set up a pipe betweent he main daemon and the child we use for syslogling so that we can clean up the childprocess when we stop ctdbd
commit 364e70b763f0ccd7714d15723ad3ea4d7e2968a1
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Nov 13 18:28:25 2009 +1100
Eventscripts: Untested factorisations and introduction of status event.
This is the first stage of an experimental change to eventscripts.
Ronnie and I did a few hours of factorisation of 40.vsftpd and applied
many of the changes to 41.httpd. Other eventscripts were also
modified.
At this stage this is completely untested.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 1908bac812650ca25151051f5d86815e0b8ed319
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Nov 13 12:37:55 2009 +1100
test of a change to make ctdbd use "status" event instead of the "monitor" event.
This allows running the actual monitoring asynchronously from ctdbd
and only using "status" to pick up the actual results.
commit b6bde176af69354ccfb00e6a3169f6b355a59d15
Merge: 6ccb495d1110157c06596763c7e252f3182c251e 20a9d35933d89dc7eb710075f360686a49d78609
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Nov 13 12:25:31 2009 +1100
Merge commit 'martins/master'
commit 20a9d35933d89dc7eb710075f360686a49d78609
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Nov 13 09:44:34 2009 +1100
Test suite: Fix the NFS and CIFS tickle tests.
The NFS test sleeps for MonitorInterval to give CTDB time to record an
NFS tickle. However, this isn't always long enough. This changes the
test to wait until a monitor event has actually occurred.
The CIFS test assumes that Samba is able to register a tickle with
CTDB before it notices that netstat has registered the tickle and can
use onnode to ask CTDB about it. That is an incorrect assumption -
sometimes we can get to the point of asking CTDB about the tickle
before Samba and CTDB have processed it. This adds a timeout loop
that makes the CIFS test wait until the tickle has been registered or
fail after 10 seconds.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit ffb911896704ddf6bd5a66e43ba2ae8c382e68de
Merge: 39642e745254d93d74dde907787503854fe6ca4a 5e13a25df5ccf184bd48595c99765a592bbc5969
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Nov 11 12:16:30 2009 +1100
Merge commit 'origin/master'
commit 6ccb495d1110157c06596763c7e252f3182c251e
Author: Mathieu Parent <math.parent at gmail.com>
Date: Tue Nov 10 12:04:13 2009 +0100
Fix bashism in events.d/11.natgw
Signed-off-by: Michael Adam <obnox at samba.org>
commit 5e13a25df5ccf184bd48595c99765a592bbc5969
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Nov 6 11:16:05 2009 +1100
version 1.0.104
commit 8001ae580bcc28d45f6026b529d7ffc247cbba34
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Nov 6 09:54:03 2009 +1100
sugegstion from metze,
use killtcp and kill both directions of the nfs connections.
we used to kill only one direction since the other direction was unkillble
but recent kernels allow us to kill both
commit e8e7129ff1371065fbd75e1aea844d6d04a96fa9
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Nov 6 08:19:32 2009 +1100
suggestion from Christian,
dont allow UNHEALTHY nodes to become natgw master, unless all nodes
are unhealthy
commit eda052101728cf922ce892e3c53b4f37e7ceac42
Author: Volker Lendecke <vlendec at samba.org>
Date: Tue Nov 3 20:01:00 2009 +0100
Fix a segfault in the eventscript timeout handler.
The state was freed too early.
Signed-off-by: Michael Adam <obnox at samba.org>
commit b7dc1e0720991cc65353e07cf87608acea21ba27
Author: Michael Adam <obnox at samba.org>
Date: Tue Nov 3 20:00:27 2009 +0100
ctdb.sysconfig: add a comment section about CTDB_RUN_TIMEOUT_MONITOR
Michael
commit 1a3ecdee85b82bb3234a92ae6bcdeb92238eb7ee
Author: Michael Adam <obnox at samba.org>
Date: Tue Nov 3 20:00:07 2009 +0100
Add a 99.timeout event script to trigger monitor timeouts.
This just sleeps for twice the value of EventScriptTimeout
in the monitor action. It is not run by default, but
can be activated by setting CTDB_RUN_TIMEOUT_MONITOR
in /etc/sysconfig/ctdb .
Michael
commit 1cbf06a126621b3e932925cdad2ef9c009f93d4e
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Nov 5 16:07:23 2009 +1100
dont use the pointer after it has been talloc_free()d.
commit 058e21d96c3c02759833fd5ddfe7b43e6a5f5740
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Nov 5 15:57:46 2009 +1100
From Rusty
It's much nicer for post-mortem debugging to have a body to examine.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
commit bf50709630df000583f2b0ef0edc177c01d60eaf
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Nov 5 12:12:06 2009 +1100
add an extra test for the bond devices and check that there is an active slave.
this to handle the case where all links do have a physical layer, but where all slaves have been disabled using ifdown
commit 9e1b99221c8f257129641f6eda2795537b7ce9de
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Nov 4 07:50:26 2009 +1100
dont verify winbindd is running properly at startup
commit 020e2e30e56b9675f345ee62d6bf585396208059
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Nov 3 11:46:37 2009 +1100
new version 1.0.103
commit fb83dba255fc91413a475b273e374e0c4d538137
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Nov 3 10:48:27 2009 +1100
move the check to skip vacuuming on persistent database to the ctdb_vacuuming_init() function
commit 209ff041596e39688186c99995863ed3e816b8e4
Author: Michael Adam <obnox at samba.org>
Date: Mon Nov 2 01:37:07 2009 +0100
packaging: use githash in rpm release by default.
setting USE_GITHASH=no in the environment makes
makerpms.sh omit the git hash
Michael
commit f98fefbc566eefbfcc660646af6e25256ab82b13
Author: Michael Adam <obnox at samba.org>
Date: Tue Nov 3 00:04:27 2009 +0100
server: disable vacuuming for persistent tdbs.
The vacuum process treats persistent databases the same as
non-persistent and thus ignores the extra state for transactions.
This way, it breaks the api-level transactions.
Michael
commit a5d90d8ed8b44355c4ffb9c32ded772025fcc174
Author: Michael Adam <obnox at samba.org>
Date: Thu Oct 29 22:53:44 2009 +0100
client: randomize the transaction_start retry loop:
instead of sleeping 1 second, sleep between 1 and 100 milliseconds
Michael
commit 825c506da76d7afd0714b75b8c8727874183a618
Author: Michael Adam <obnox at samba.org>
Date: Thu Oct 29 22:40:00 2009 +0100
Revert "dont exit on a commit failure"
This reverts commit 4e9a3a5dc232bac12ab387ea0cf4f1b279bed5c1.
Transaction commit should not be allowed to fail.
This is a real error.
Michael
commit b95524c08bf12914120cb6c818ecc1c99738fe37
Author: Michael Adam <obnox at samba.org>
Date: Thu Oct 29 22:20:38 2009 +0100
client: fix a race in the local race condition fix in transaction_start
The gap that remained is between checking whether a transaction commit
is in progress and taking the lock. Now we first take the lock and then
check whether a transaction commit is in progress. If so, we release the
lock, wait for one second and retry.
Michael
commit 9e4902c7d3ad1329c296f4196fcb1396f2a7a6a0
Author: Michael Adam <obnox at samba.org>
Date: Thu Oct 29 22:19:19 2009 +0100
client: add a debug message when a transaction_commit needs to be retried
Michael
commit c1d8496f9fd5e8046f3d990264258dfb054f3b32
Author: Michael Adam <obnox at samba.org>
Date: Tue Oct 20 17:02:16 2009 +0200
packaging(RPM): don't touch the run levels in ctdb install/udpate.
We should really leave it up to the administrator to decide
whether ctdb should be started automatically at boot-time.
Michael
commit 9ffd54b73c0d64b67e8e736d7cb54490e77ffa78
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Oct 30 19:39:11 2009 +1100
start the syslog child a little later, after we have forked and detached from the local shell
commit 1446f4c247310e2ff2d522055bd8927d1a78d017
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Oct 30 18:53:17 2009 +1100
create a child process to write to syslog.
use a udp socket on the ctdbd port to send messages to teh syslog child process for loggign.
we need this when syslog becomes "slow", like very slow, and on boxes where syslog is limited to 100 lines per second and starts to block after that
commit 48ac5c77698ab7a28d24629cc8a6985011c5d14d
Author: Michael Adam <obnox at samba.org>
Date: Thu Oct 29 13:48:36 2009 +0100
server: fix debug message in trans2_commit (refusing persistent store during transaction)
log the right db_id
also log the client_id
Michael
commit d7b9babda2f7c7f7b95ee19ec75c37200816c6ef
Author: Michael Adam <obnox at samba.org>
Date: Thu Oct 29 13:45:38 2009 +0100
client: log db_id as 8-digit hex in ctdb_transaction_fetch_start()
Michael
commit 2febdd23f754a2d4699bed36b941442ab362a376
Author: Michael Adam <obnox at samba.org>
Date: Thu Oct 29 13:44:39 2009 +0100
server: uniformly log db and client ids as 8-digit hex numbers in trans2_commit
Michael
commit 3be446434adb0f3095ac0ef4b7c4a6258780b863
Author: Michael Adam <obnox at samba.org>
Date: Thu Oct 29 13:30:03 2009 +0100
server: line-wrap a debug statement in trans2_commit
Michael
commit 11fefd02e6c9531ffb28b9e6acaf42ba39757d87
Author: Michael Adam <obnox at samba.org>
Date: Thu Oct 29 13:27:47 2009 +0100
server: output client_id in some debug messages in trans2_commit
Michael
commit ab9657b5a66d5665e6c5fd1bf8eb4074a3bffeec
Author: Michael Adam <obnox at samba.org>
Date: Thu Oct 29 13:24:19 2009 +0100
server: fix a debug message in trans2_commit - log the correct db_id
Michael
commit 0fb9573d1c838b436ab9be83e197b68f35f94acb
Author: Michael Adam <obnox at samba.org>
Date: Thu Oct 29 13:54:55 2009 +0100
server: extend a debug message in ctdb_control_trans2_error()
Michael
commit 0df012d58eb83195ea0365be19e0566dbc394a66
Author: Michael Adam <obnox at samba.org>
Date: Thu Oct 29 13:53:44 2009 +0100
server: add positive debug statements to trans2_commit and trans2_finished
When the operation completed / started successfully.
Michael
commit 6b47ea111867c845974aa2687a658ebca2854816
Author: Michael Adam <obnox at samba.org>
Date: Thu Oct 29 19:49:10 2009 +0100
client: improve "control timed out" debug message
* add __location__
* wrap overly long line
* print unsigned ints as unsigned (reqid, opcode, destnode)
Michael
commit cb432e30351d5e5a41e98da3c7b1c2a4d400a3a2
Author: Michael Adam <obnox at samba.org>
Date: Thu Oct 29 17:08:37 2009 +0100
server: trans2_active: don't report a transaction active on the node that performs the transaction
Otherwise a node can lock itself out, e.g. when a commit control times out...
Michael
commit 4892222ffb255dccd8ced1cb047f199386bb3e98
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Oct 29 13:49:27 2009 +1100
new version 1.0.102
commit 8ab1349feb64a91cb500c130ea299e2182491f06
Author: Wolfgang Mueller-Friedt <wolfmuel at de.ibm.com>
Date: Wed Oct 28 14:54:29 2009 +0300
ensure tdb names end with .tdb. and any number of digits
commit a6fbc65aca35c41c428a82d7402e43c6eaac1d6e
Author: Wolfgang Mueller-Friedt <wolfmuel at de.ibm.com>
Date: Wed Oct 28 13:01:27 2009 +0300
vacuuming needed additional check before getting rid of the record; there is a gap between selecting the records and deleting them, therefore we have to check if the records still can be deleted when we actually are about to delete them
commit 363e7e939ad46b3f75c83c30d4163d63876c2456
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Oct 29 13:44:12 2009 +1100
Revert "From Wolfgang M."
This reverts commit 5b70fa8cfd5916d3c212823ad5cc1b251ae175ed.
commit 0c9b0466fd87b3f1e5d53f867c863217802ac43b
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Oct 29 11:54:24 2009 +1100
make the error logged when winbindd fails to access the dc during startup more scary and easier to spot in the logs
commit 467da12a785ba3367ed9cbdf79440394e9703289
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Oct 29 10:58:14 2009 +1100
update the uptime command to indicate that time since last is either from alst recovery or from last failover
commit cb36bbb5418290e8e5b770d2d836285b15da2a6f
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Oct 29 10:49:00 2009 +1100
Revert "update the "uptime" command to indicate the "time since last" is the time since the last recovery OR failover."
This reverts commit 3b0d44497800a16400d05a30bdaf6e6c285d4b36.
commit 22712c577f64ec84851b4addcf4a46c7e99e0662
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Oct 29 10:32:28 2009 +1100
update the manpage for "update" to indicate the "time since last" indicates
the time since the last recovery OR failover
commit 3b0d44497800a16400d05a30bdaf6e6c285d4b36
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Oct 29 10:37:10 2009 +1100
update the "uptime" command to indicate the "time since last" is the time since the last recovery OR failover.
commit 9560f8b7fe0f7ee0386a87c2653333071050fe4b
Author: Michael Adam <obnox at samba.org>
Date: Thu Oct 22 14:42:05 2009 +0200
ctdb_client: reformat a comment slightly to enhance clearness.
Michael
commit 02ee9dfd3c6b09f5c5172a7e38738c20b7f0aecd
Author: Michael Adam <obnox at samba.org>
Date: Wed Oct 28 22:55:44 2009 +0100
client: fix race condition with concurrent transactions on the same node.
In ctdb_transaction_commit(), when the trans2_commit control fails, there
is a race condition in the 1 second sleep between the local transaction_cancel
and the call to ctdb_replay_transaction(): The database is not locked, and
neither is the transaction_lock record. So another client can start and possibly
complete a new transaction in this gap, but only on the same node: The locking
of the transaction_lock record on a different node which involves migration of
the record to the other node has been disabled by introduction of the
transaction_active flag on the db which closes precisely this gap from the start
of the commit until the call to TRANS2_FINISH or TRANS2_ERROR.
But this mechanism does not cover the case where a process on the same node
tries to start a transaction: There is no obstacle to locking the transaction_lock
record because the record does not need to be migrated.
This commit closes this race condition in ctdb_transaction_fetch_start()
by using the new ctdb_ctrl_transaction_active() call to ask the local
ctdb daemon whether it has a transaction running on the database.
If so, the check is repeated until the running transaction is done.
This does introduce an additional call to the local ctdbd when starting
transactions, but it does close the (hopefully) last race condition.
Michael
commit 813cfd7c625ac8af4ef169cc92fb6d69f66004c9
Author: Michael Adam <obnox at samba.org>
Date: Wed Oct 28 22:54:49 2009 +0100
client: add ctdb_ctrl_transaction_active() which calls out to CTDB_TRANS2_ACTIVE
Michael
commit 8d430ae6968dfe566614379436fc3c56003fcd88
Author: Michael Adam <obnox at samba.org>
Date: Wed Oct 28 22:50:05 2009 +0100
server: add a new ctdb control CTDB_TRANS2_ACTIVE
This aske the daemon wheter a transaction is currently active on a
given DB on that node. More precisely this asks for the transaction_active
flag in the ctdb_db_context that is set in the CTDB_TRANS2_COMMIT
control and cleared in the CTDB_TRANS2_ERROR or CTDB_TRANS2_FINISHED controls.
This will be useful for fixing race conditions in the transaction code.
Michael
commit 47b67077bdfa64938bb0fa6d1ca8f56fbd5c960e
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Oct 28 17:42:01 2009 +1100
version 1.0.101
commit 325de818f88f339a16dc4544e899a2d735933c44
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Oct 28 17:35:15 2009 +1100
create a separate context for non-monitor eventscripts so they dont collide
commit 8d5cb2586a1d5a0255cc18295430927b914d4527
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Oct 28 16:40:31 2009 +1100
return 0 in the event script callback if it was aborted by a different script
commit fa34e8a5d588026029dca949151697817fe7f127
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Oct 28 16:18:28 2009 +1100
new version 1.0.100
commit 64da4402c6ad485f1d0a604878a7b0c01a0ea5f0
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Oct 28 16:11:54 2009 +1100
change the eventscript handling to allow EventScriptTimeout for each individual script isntead of for the entire set of scripts
restructure the talloc hierarchy to allow this
commit 39642e745254d93d74dde907787503854fe6ca4a
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Oct 28 13:02:18 2009 +1100
Test suite: Regression fix - wait_until should not run command in sub-shell.
Commit 25e82a8a667a54c6921ef076c63fdd738dd75d19 changed wait_until()
to protect the command it runs from "set -e" by running it in a
subshell. This breaks uses where the command is expected to set
global variables. For example, wait_until_get_src_socket lost the
value of $out from its call to get_src_socket().
The fix is to not be lazy and use a sub-shell!
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 6a1f7a7b1b3a0b8f89998db8fdad83bbb4e9b5a5
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Oct 28 09:07:43 2009 +1100
Enhance the logging fromeventscripts.
When a single script is finished, also log the name of the script, the duration it took and the return status.
In the loop where we signal back to the main daemon that the script finished, do this once every 100ms instead of once every 1 second
commit 4037b6e73a819a8e2463dfe0959b42875e05e106
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Oct 27 15:45:03 2009 +1100
add a check that winbind can actually talk to teh dc during the startup event
and refuse to start up if it can not
commit 227fe99f105bdc3a4f1000f238cbe3adeb3f22f0
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Oct 27 15:17:45 2009 +1100
temporarily try allowing clients to attach to databases even if the node is banned/stopped or inactive in any other way.
commit cc30ee2f4f33cb75b2be980c2d4dff6c7c23852f
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Oct 27 13:51:45 2009 +1100
dont run the monitor event so frequently after a event has failed.
use _exit() instead of exit() when terminating an eventscript.
commit a10fc51f4c30e85ada6d4b7347b0f9a8ebc76637
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Oct 27 13:18:52 2009 +1100
for debugging
add a global variable holding the pid of the main daemon.
change the tracking of time() in the event loop to only check/warn when called from the main daemon
commit 20678e1506db1f96b58c326ee91339e797c07c22
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Oct 6 16:16:13 2009 +0200
ctdb_diagnostics: don't use hardcoded path to iptables
All event scripts use only the relative path, so we should
here.
Also PATH includes /sbin and /usr/sbin...
metze
commit a244b75ee49556b0ff51e254cc812594ee3b23a7
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Oct 9 15:47:06 2009 +0200
ctdb_client: fix DEBUG statement in ctdb_ctrl_modflags()
metze
commit 8ec633b64a05a2d903c2b9639909f15f6375548f
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Oct 9 15:47:49 2009 +0200
server: if takeover runs when the recovery master becomes unhealthy
The problem was this:
When the monitor event fails, the node->flags get updated,
and an update (containing the old and new flags) is sent to
the recovery master.
If the recovery master sends the update to itself (the same process),
it was compairing the node->flags variable with the received new flags.
This check always found both flag values to be equal
and never sets the rec->need_takeover_run variable to true.
There were two problem, first the push_flags_handler() function
didn't pass the received old flags.
And the ctdb_control_modflags() function ignored the received old flags.
metze
commit 440e870d61267054b24404bcb69e599226353949
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Oct 9 15:50:59 2009 +0200
server: print out the full 64-bit srvid on 32-bit hosts
metze
commit 752a9c81de97be509de7e7feddde749cc5ee22a8
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Oct 21 17:06:48 2009 +0200
tcp: don't log an error when we succefully bind to the desired address
metze
commit 11193e1e192bee6f579bdf1303153571a82711d7
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Oct 26 13:20:35 2009 +1100
patch the event loop so we read the current time every iteration.
log an error if the clock jumps backwards
also log an error if the clock jumps >5 seconds forward (we assume here we will get at least one event every 5 seconds)
commit 331c6e3afd96d8b5e191153a631efdbdabb6ea33
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Oct 26 12:20:52 2009 +1100
Suggestion from Volker,
make ctdb_queue_length() cheaper by using a counter variable instead of counting the number of packets each time.
commit e79c3bcead7bd4bfb74d0aec81908da71551c107
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Oct 26 10:22:00 2009 +1100
disabel the multipath eventscript by default
commit ab4a6a58fb002ec29c19d167800e47987b023fe4
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Oct 26 10:11:00 2009 +1100
update the manpage for ctdb setreclock
commit db250cad7c92c1cc0a690725a4e39531a2e1b7fd
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Oct 26 10:13:20 2009 +1100
automatically re-activate the reclock file check if we set the reclock file to something
commit 496dc2e80b714811c6e69dc928deaad61cf603b1
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Oct 26 09:35:18 2009 +1100
lower the log level of a debug message
commit f1b6ee4a55cdca60f93d992f0431d91bf301af2c
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Oct 23 15:24:51 2009 +1100
Add a mechanism where we can register notifications to be sent out to a SRVID when the client disconnects.
The way to use this is from a client to :
1, first create a message handle and bind it to a SRVID
A special prefix for the srvid space has been set aside for samba :
Only samba is allowed to use srvid's with the top 32 bits set like this.
The lower 32 bits are for samba to use internally.
2, register a "notification" using the new control :
CTDB_CONTROL_REGISTER_NOTIFY = 114,
This control takes as indata a structure like this :
struct ctdb_client_notify_register {
uint64_t srvid;
uint32_t len;
uint8_t notify_data[1];
};
srvid is the srvid used in the space set aside above.
len and notify_data is an arbitrary blob.
When notifications are later sent out to all clients, this is the payload of that notification message.
If a client has registered with control 114 and then disconnects from ctdbd, ctdbd will broadcast a message to that srvid to all nodes/listeners in the cluster.
A client can resister itself with as many different srvid's it want, but this is handled through a linked list from the client structure so it mainly designed for "few notifications per client".
3, a client that no longer wants to have a notification set up can deregister using control
CTDB_CONTROL_DEREGISTER_NOTIFY = 115,
which takes this as arguments :
struct ctdb_client_notify_deregister {
uint64_t srvid;
};
When a client deregisters, there will no longer be sent a message to all other clients when this client disconnects from ctdbd.
commit 0785afba8e5cd501b9e0ecb4a6a44edf43b57ab0
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Oct 23 13:55:21 2009 +1100
when scripts timeout, log pstree to a file in /tmp and just log the filename in the messages file
commit 38d7487bc68c8cf85980004aceeef24ae32d6f36
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Oct 23 13:54:45 2009 +1100
set the eventscripts to timeout after 20 seconds
change the ban count to 10 failures before we ban by default
commit 514a60c57557042e463efeff53dd11b9fec40561
Merge: 14fca8383b6b1da49278a9181a975543b956161b f3e09f2cfd33e79e69fc8c84ce4781a31a7a0437
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Oct 23 10:43:13 2009 +1100
Merge commit 'martins/master'
commit 14fca8383b6b1da49278a9181a975543b956161b
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Oct 22 18:16:33 2009 +1100
new version 1.0.99
commit f3e09f2cfd33e79e69fc8c84ce4781a31a7a0437
Merge: 431f79f7c9038ebd95d27c2465207ca40b8f4f23 e01ab46bafad09a5e320d420734db129d35863bc
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Oct 22 17:48:09 2009 +1100
Merge commit 'origin/master'
commit 431f79f7c9038ebd95d27c2465207ca40b8f4f23
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Oct 22 17:47:10 2009 +1100
Document onnode -n and -f options.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit e01ab46bafad09a5e320d420734db129d35863bc
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Oct 22 13:41:28 2009 +1100
if a lock wait child died/finished, we could have released the lockwait handle and set it to NULL before we call the destructors for releaseing the waiters.
The waiters reference the locakwait handle in order to remove itself from the li
nked list which caused a SEGV.
We dont actually need to remove ourselves from this list here since
if the parent freeze_handle holding the list is freed, then all waiters are rele
ased as well, and the only place we actually need to relink the waiter is in ctd
b_freeze_lock_handler, where we want to respond back to the clients and release
the waiters but we still want to keep the freeze_handle hanging around.
commit 27296a47b3d057a6729287acf128b2b67775ecde
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Oct 22 12:19:40 2009 +1100
From Volker L
Fix some warnings and an incorrect check for a talloc failure
commit 5b70fa8cfd5916d3c212823ad5cc1b251ae175ed
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Oct 22 07:58:44 2009 +1100
From Wolfgang M.
With the new vacuuming code, dont treat an invalid dmaster as fatal. Let it update to the new value insetad.
commit 61282d4a9be9e544aaa86f3cffc5b58e417f5ab1
Merge: 8264c42969d4be7fc6c5b4d56f8b5ef7c62b3bfb befabc917edb036ca81f5216f65a6d62b26ee83e
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Oct 21 21:48:15 2009 +1100
Merge commit 'origin/master'
commit 8264c42969d4be7fc6c5b4d56f8b5ef7c62b3bfb
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Oct 21 21:47:06 2009 +1100
Test suite: Remove the disable/enable monitor tests - they are useless.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 25e82a8a667a54c6921ef076c63fdd738dd75d19
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Oct 21 21:36:39 2009 +1100
Test suite: Fix the timeouts on the skip share check tests.
The timeout for waiting for state changes isn't very predictable. It
is "about" MonitorInterval seconds... but can be longer given the
duration of eventscript runs and other things. So, we change the
timeout to MonitorInterval + EventScriptTimeout, hoping it never takes
that long.
Move the eventscript installation/removal from the old fake-tests into
a function in the functions file. Implement supporting functions to
create/remove/check-for various files that it handles. Also add a
function that uses all of this that waits for the next monitor event
(but only if all other monitor events pass).
The final check in the skip share check tests uses the above and waits
for a monitor event, and then checks that the node is still healthy.
Also enhance the wait_until function to handle a command starting with
'!' (as a separate word) to make it easy to wait for a file not to
exist.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit befabc917edb036ca81f5216f65a6d62b26ee83e
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Oct 21 16:50:39 2009 +1100
During tests it is common to add/delete test eventscripts at runtime.
This can race with teh eventascript handling that does a :
list all scripts, sort them, then execute them
so trap status code 127 which means the script could not be executed (or /bin/sh does not exist) and treat it as not to cause the node to become unhealthy
commit 87146db2769c2ec494813685bf9cec0d2a6336c3
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Oct 21 15:26:24 2009 +1100
lower the debug levels for the "create FD messages" so we dont fill up the logs.
commit f76d6fed8f9630450263b9fa4b5fdf3493fb1e11
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Oct 21 15:20:55 2009 +1100
When clients have blocked, perhaps because the node is banned or stopped and the client is blocked trying to tdb_fetch() a record, make sure we dont queue up too many REQ_MESSAGES.
Add a new tunable to control the maximum queue size we allow to a blocked client before we start discarding REQ_MESSAGES instead of queueing them for delivery.
This avoids having queued up very very large number of MESSAGES that samba semds
between eachother to nodes that are blocked/banned/stopped for extended periods
.
commit ead97cabeb1e0b73bff9d45f8aec8b226769ee9f
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Oct 21 13:54:02 2009 +1100
dont restart ctdb when installing the rpm
commit 0a4d409baabf242a87c06293789d589c896b104c
Author: Michael Adam <obnox at samba.org>
Date: Tue Oct 20 16:57:23 2009 +0200
In ctdb_ltdb_store(), add a missing transaction_cancel when local store failed.
Spotted by Volker.
Michael
commit 1a09b02767f3928d3c5db0e0afc59bb938e4a445
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Oct 21 11:51:30 2009 +1100
mprove the log message when we skip the ip allocation check from the recovery daemon.
we also skip this check if we are already in the process of performing an ip reallocation and not only when we are performing a full recovery.
commit 3997d7e5471810e9a2f145ce2e795073dfc5eded
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Oct 21 11:34:17 2009 +1100
treat interfaces with the name ethX* as bond devices
commit 6ef4364b3349145b2fec23e0431cd6df6dcadd41
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Oct 20 17:11:01 2009 +1100
Test suite: A timeout of MonitorInterval seconds sometimes isn't enough.
Monitor events sometimes happen a little bit more than MonitorInterval
seconds apart. This changes some timeouts to MonitorInterval + 1
seconds.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit a4aac7312947aa3b26bc26993f04b586c64f18cb
Merge: f50d64a8ac91415ca297216d2103ff940076f02b 02862c086d045497f49f3c060700419815d607e7
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Oct 20 16:53:04 2009 +1100
Merge commit 'origin/master'
commit f50d64a8ac91415ca297216d2103ff940076f02b
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Oct 20 16:52:22 2009 +1100
Test suite: New tests for validating SKIP_SHARE_CHECK options.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 2b478b0f5f09dd06626592573f053706ac637edd
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Oct 20 16:51:06 2009 +1100
Test suite: Update 99_ctdb_uninstall_eventscript.sh to use ctdb_init().
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 11137bc2d492a62a26ec9f9f62ff362e81643f66
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Oct 20 16:45:29 2009 +1100
Test suite: Fix bug in node_has_status().
This function has been broken since it was updated to work with the
"stopped" state (probably commit
67c5bfb5f02c9d45a32d976021ede4fb2174dfe9). Although ${var#:*:0}
removes the shortest matching prefix of $var, '*' can match substrings
that include ':' if '0' isn't where you expect. So we were making
unexpected matches and incorrectly returning true for some cases.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 1f906bd3476e7cebf217e35b5477d6a7bb615a0c
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Oct 20 16:44:44 2009 +1100
Test suite: add -x option to ctdb_init() function.
This facilitates tracing of tests.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 02862c086d045497f49f3c060700419815d607e7
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Oct 20 15:36:35 2009 +1100
version 1.0.98
commit 54f9c314a0354f1039208fe6ac7dc159b6db8750
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Oct 20 13:01:15 2009 +1100
From Wolfgang Mueller
make sure to always create the vactun database and get rid of some annoying log messages
commit 2e9fc6f0609833c6d8146196011ef780669d615d
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Oct 20 12:59:48 2009 +1100
From wolfgang Mueller
Add a tuneable so that when scripts starts to hang/timeout, we can make the node unhealthy instead of banned
commit b3ae2b753261443dca317803752a9d61285a3270
Merge: 454125ccfda04aa6b4e14f5c05164d29f41a0ead 27d152a918680a59c7412aec7e1772f25b72d469
Author: Martin Schwenke <martin at meltin.net>
Date: Mon Oct 19 16:46:45 2009 +1100
Merge commit 'origin/master'
commit 27d152a918680a59c7412aec7e1772f25b72d469
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Oct 19 16:22:15 2009 +1100
add a direcotry where multiple local scripts can be added to run when executing eventscripts
commit 97ded8a629ec762f71bad28515e4fbc810790b1d
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Oct 19 15:33:20 2009 +1100
wait a bit longer before shutting down when the reclock file is missing
pring the filename of the missing file when we turn unhealthy and also
a 'df'
commit 02f68dc60e0b7bf26d631850b12834d5c71a88f2
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Oct 19 15:30:44 2009 +1100
Revert "dont shutdown a node when the reclock file is temporarily unavailable."
This reverts commit f5e9f3007c10a937158bc8cdfabf33c984cf9c50.
commit 454125ccfda04aa6b4e14f5c05164d29f41a0ead
Merge: 5ad283458e59ea8232e01f34be007901c10c8a2e e62928f56ce8927b1d8686db2c31538c86462d1a
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Oct 16 16:39:46 2009 +1100
Merge branch 'onnode_options'
commit 5ad283458e59ea8232e01f34be007901c10c8a2e
Merge: bf5402b41282da94fee1ab3e4546ec089ff12f37 536229fd120bc3fdc2419e22d3bd6ab243dd6667
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Oct 16 16:36:48 2009 +1100
Merge commit 'origin/master'
commit bf5402b41282da94fee1ab3e4546ec089ff12f37
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Oct 16 16:35:56 2009 +1100
initscript: when stopping on Red Hat use the success/failure functions.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit ff824676fab94168707aada7423ae766bc0f711c
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Oct 15 16:03:43 2009 +1100
Dont run eventscript monitor when the databases are frozen.
The databases can become frozen a while before we do the actual recovery
since we have the re-recovery timeout.
There is no point in doing much monitoring if we are waiting for a recovery,
or if we are banned.
This will eliminate some annoying log entries where certain tests will fail if the databases are locked.
commit f5e9f3007c10a937158bc8cdfabf33c984cf9c50
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Oct 15 13:19:10 2009 +1100
dont shutdown a node when the reclock file is temporarily unavailable.
Leave the node as UNHEALTHY this stops clients from accessing the node until
the reclock file can be accessed again
commit ddd089810a14efe4be6e1ff3eccaa604e4913c9e
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Oct 15 11:24:54 2009 +1100
add logging everytime we create a filedescriptor in the main ctdb daemon
so we can spot if there are leaks.
plug two leaks for filedescriptors related to when sending ARP fail
and one leak when we can not parse the local address during tcp connection establish
commit ef992a64d2376b621d4d2973ae22e567158aee12
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Oct 15 07:41:56 2009 +1100
new version 1.0.97
commit 82fad66123c1b8c5d4ed3b19c39acf6f367b3f37
Merge: 536229fd120bc3fdc2419e22d3bd6ab243dd6667 e62928f56ce8927b1d8686db2c31538c86462d1a
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Oct 14 15:51:57 2009 +1100
Merge commit 'martins/onnode_options'
commit 536229fd120bc3fdc2419e22d3bd6ab243dd6667
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Oct 14 14:52:24 2009 +1100
version 1.0.96
commit a3406c10d70f89d332eab25d481083142dff987d
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Oct 14 14:14:28 2009 +1100
add more debugging output to eventscripts and when a script has timed out,
print a full "pstree -p" to the log.
Example :
|-ctdbd(29826)-+-ctdbd(29862)
| `-ctdbd(31897)-+-00.ctdb(31898)---sleep(31908)
change the default timeout to 60 seconds for eventscripts
commit e62928f56ce8927b1d8686db2c31538c86462d1a
Merge: 46474e5f21fd97dd765c616647ff46055a9970e7 343c005367789e108c0320e95d7a264535d68dd8
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Oct 14 13:49:30 2009 +1100
Merge commit 'origin/master' into onnode_options
commit 46474e5f21fd97dd765c616647ff46055a9970e7
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Oct 14 13:44:57 2009 +1100
New onnode options: -f to specify nodes file, -n to allow use of hostnames.
The -f option allows an alternate nodes file to be specified,
overriding the CTDB_NODES_FILE environment variable.
The -n option allows hostnames to be used instead of node numbers.
Using a range of hostnames is invalid, so hostnames can't contain
hyphens ('-') - sorry! You can use this option without a nodes file
by specifying "-f /dev/null".
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit eb854f65f978f24583e221138eb4f9b917b89285
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Oct 14 12:12:04 2009 +1100
move the logging of the warning "No reclock file used" to the startup case so we only print this warning on "service ctdb start" and not for "service ctdb *"
commit 3807681e74f4bfe92befdae6ed616ff5f1a99880
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Oct 14 11:59:16 2009 +1100
when we change state between healthy/unhealthy, make sure we ask the recovery
master to perform an explicit ip reallocation.
This is more reliable and faster than having the recovery dameon track these
changes, and since we now have an explicit method to ask the recovery daemon
to perform an explicit ip reallocation, we should use this.
commit 343c005367789e108c0320e95d7a264535d68dd8
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Oct 14 10:14:03 2009 +1100
allow a pre .95 version of a recovery master to freeze databases on a post .95 node by remapping priority numbers and log this to log.ctdb
commit f6e39d35713475defaa08a623e194f3f2f8f7d53
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Oct 14 09:15:24 2009 +1100
always create the nfs state directories during the monitor event.
this allows us to configure and enable nfs at runtime without having to restart ctdbd
commit 70e7781df1f118a0e2632a9c634f3fd388fa6c8c
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Oct 14 08:17:49 2009 +1100
Port Volkers deadlock avoidance patch to HEAD.
This patch ensures that we lock all non-notify related databases first and
then the notify databases to avoiud a deadlock where samba needs to lock records on two databases at once (and notify being the second database).
Newer versions of samba would instead use the set-db-prio control to set this explicitely on a database per database basis instead of relying on hardcoded database names. This patch will be reverted in the future when all updated versions of samba has been pushed out.
commit 346fa055f4106497b87df97da5ebd6e51fa1ef8c
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Oct 13 09:49:05 2009 +1100
we must break the loop as soon as we find a suitable recmaster does exist
otherwise "tdb ipreallocate" will silently fail to update the addresses.
commit 3501d6b70bd905d6fdc4e74fe2cedc3ba77e4b86
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Oct 12 18:53:20 2009 +1100
new version 1.0.95
commit 5974b5f7998ef96aeadb7377f32ef1ab85bb5943
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Oct 12 18:41:57 2009 +1100
use the correct expected size for thew _cancel control
commit c1d7c11978d27d2ee41a2129b31d9ab61a43f8da
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Oct 12 18:31:59 2009 +1100
add a dispatch to the recovery transaction cancel call
commit 5f14874c5c705dd637f88a77f30c930fea1201d2
Merge: b2ce8b900a7d00944c84e0574fea5b371064a06d eb1fecaef9aa5cb85dff7d4f7af8a9878deabed8
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Oct 12 16:51:36 2009 +1100
Merge commit 'martins/master'
commit b2ce8b900a7d00944c84e0574fea5b371064a06d
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Oct 12 16:48:05 2009 +1100
add a new control for explicitely cancelling recovery transactions, i.e. the
transactions we start across all tdb databased during the recovery.
this allows us to properly clean up and delete these tdb transactions on a
recovery failure.
commit eb1fecaef9aa5cb85dff7d4f7af8a9878deabed8
Author: Martin Schwenke <martin at meltin.net>
Date: Mon Oct 12 16:32:49 2009 +1100
Clean up ctdb_check_directories* eventscript functions.
There are 2 problems with this code:
* The loop in ctdb_check_directories_probe() breaks on filenames
containing whitespace.
The fix to protect them is to pass "$@" to this function and have it
operate on "$@".
Note that there's still a problem with whitespace in filenames in
the 50.samba eventscript. To fix this ctdb_check_directories_probe
should read the filenames from stdin. Another time...
* The check for '%' in filenames in ctdb_check_directories_probe()
ends up involving several forks. On a modern machine this can cost
a couple of minutes when checking a large number of directories.
The fix is to use a case statement.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 318abeb4b913a8d846e7eaf4cf5c2a67b61ce974
Author: Martin Schwenke <martin at meltin.net>
Date: Mon Oct 12 16:17:37 2009 +1100
40.vsftpd: reset the fail counter in the "recovered" event.
Each recovery that involves IP reassignments results in a restart of
vsftpd in the "recovered" event. Currently, we can have several
recoveries in quick succession and the "monitor" event following each
can fail because vsftpd isn't ready yet. This results in cumulative
failures, so the node is marked unhealthy, even though vsftpd has
never had a proper opportunity to become ready.
This resets the fail count after each recovery.
While we're here, also move the delete of the restart flag file into
the body of the conditional.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 46194e87e189521375b39b4ef33da2b493429fd8
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Oct 12 13:06:16 2009 +1100
allow setting the recmode even when not completely frozen.
we sometimes have to do this when we want to trigger a recovery
commit e8d692590da1070c87a4144031e3306d190ebed2
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Oct 12 12:08:39 2009 +1100
initial attempt at freezing databases in priority order
commit 0cb3d33caa42ed783e03bc825b181dde4cf63616
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Oct 12 09:22:17 2009 +1100
uptade the freeze/thaw commands to be able to send the requested database priority to freeze/thaw to the daemon.
this is encoded in the srvid field of the request header
commit 465dc95fef0ff6651ff49fa94e4cf2ebd1036ac4
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Sat Oct 10 16:28:20 2009 +1100
during recovery, update all remote nodes so they use the same priorities
for the databases as this node.
commit ca6d045e419f308f57e74d4c978907afb05ddb85
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Sat Oct 10 15:04:18 2009 +1100
add a control to read the db priority from a database
commit 67741c0ee01916d94cace8e9462ef02507e06078
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Sat Oct 10 14:26:09 2009 +1100
add a control to set a database priority. Let newly created databases default to priority 1.
database priorities will be used to control in which order databases are locked during recovery in.
commit dd122351efaeef5475cdec111eb900110d83ec35
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Sat Oct 10 13:55:11 2009 +1100
verify the DISABLED flag and compare with the previous flag we have registered for that node and not what the node says is the difference.
this prevents a situation where the remove node may cause spurious ip reallocations.
commit 687535b51622d1fac7ccb38fa640bf1febd69fd8
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Oct 9 22:22:11 2009 +1100
Fix bug spotted by Metze,
the argument to ctdb_control_event_Script_disabled() is a string not a uint32
commit 5cb4d63bf6887d15aba37fafc3f6b6ba38027f13
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Oct 8 19:17:57 2009 +1100
version 1.0.94
commit f72d33ac73ebb1af802bacdfb30279df3cd8b8f9
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Oct 8 16:45:25 2009 +1100
if a node fails to become frozen during recovery, mark it up with as a culprit so it will soon get banned
commit e77bf5708df6782b4516f698b9981a1d27e2f10b
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Oct 6 17:05:14 2009 +1100
version 1.0.93
commit deed52b7e4aac94b4d11a8d89d08739e1dfd4ed7
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Oct 6 16:09:24 2009 +1100
update natgw eventscript to allow you to fore it to update and / or to remove the configuration at runtime
commit 7d91de8a837a12082c343980428153720dcad741
Merge: 22f0065cd6b66fa0f623f465aaca98883955ac79 789703ea684717781c176fd3a2a24d96abde220b
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Oct 6 13:39:31 2009 +1100
Merge commit 'origin/master'
commit 22f0065cd6b66fa0f623f465aaca98883955ac79
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Oct 6 13:38:00 2009 +1100
Document CTDB_NODES_FILE environment variable used by onnode.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 789703ea684717781c176fd3a2a24d96abde220b
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Oct 6 12:25:44 2009 +1100
always send the release/take ip controls to make sure all nodes are updated
commit 9c63858c0b22c81eaccb9865a414af0bbb2833d4
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Oct 6 12:11:32 2009 +1100
add a new message to ask the recovery daemon to temporarily disable checking ip address consistency.
This is useful when we are moving addresses using moveip in the cluster since otherwise if we collide with the recovery daemons own check we could cause a recovery
commit 3befe5526e147d49451fddc930aaafc3dbe2e9c1
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Oct 6 11:41:18 2009 +1100
update addip/moveip/delip to make it less likely to trigger an accidental recovery
commit 9d95dfbd12898975ba0d8560d95a974210d3de7c
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Oct 6 11:40:38 2009 +1100
change some loglevels and also pront the pnn of the ip for takeip/releaseip logging
commit be52954d921e7d443304cf49fbd488c619a9c4ec
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Oct 6 10:52:31 2009 +1100
add a new function to collect a list of all active nodes EXCEPT a certain node
commit 804e5905be51f43c8a338bfbe216fd8d5718850f
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Oct 6 09:35:15 2009 +1100
allocate takeoverip state as a child of vnn and also make the takeocerip context a child of vnn
commit e8df6fc301fb7faf72c72eb39ea68d44d1526b00
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Oct 6 08:19:25 2009 +1100
When adding a public ip to a node, make sure to push the assignment of ip addresses out to all nodes so all nodes become aware who currently holds the ip.
commit 9ffb0d08d34cbafed0e49350a3a72b15d92c8ea7
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Oct 2 14:38:16 2009 +1000
version 1.0.92
commit c1c0ebb8da9a6c29ee83868a311f07f30cb4ed16
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Oct 2 13:41:54 2009 +1000
we should close this file on exec
commit 9b206d96da3341836cc25aee5693f551f6f3a80e
Merge: 4e9a3a5dc232bac12ab387ea0cf4f1b279bed5c1 23ae9e9863ea90c6fb3f105403fd098041fa73f4
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Oct 1 15:46:01 2009 +1000
Merge commit 'martins/master'
commit 23ae9e9863ea90c6fb3f105403fd098041fa73f4
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Oct 1 15:39:09 2009 +1000
Test suite: The ctdb ping test should allow time to go backwards.
Time can actually go backwards during this test if ntpd happens to
adjust it little bit. So we should cope...
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 4e9a3a5dc232bac12ab387ea0cf4f1b279bed5c1
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Oct 1 14:53:35 2009 +1000
dont exit on a commit failure
commit d1d370033d5007ad1c2c34cd9eeac53001f4b13e
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Oct 1 14:51:32 2009 +1000
Revert "Revert "allow the transaction commit to fail""
This reverts commit 74e416108df6934f45ca646d709785dd76ab3c35.
commit b77e4698e7f83443243965f93b84237f2903cd46
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Oct 1 14:31:55 2009 +1000
document how to use the notification script
commit b1fe04f2e9447f762a0b805763deb29296585ff8
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Oct 1 14:05:30 2009 +1000
add a new notification to trigger on when ctdb has started
commit fe26da7780545b1ecc0a7da5bc1cf8beaeea94cc
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Sep 30 21:21:56 2009 +1000
Minor fixes to 01.reclock eventscript.
test -z really needs its argument to be quoted. Simplified a status
test.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit cfe63636a163730ae9ad3554b78519b3c07d8896
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Sep 30 21:05:16 2009 +1000
40.vsftpd monitor event only fails after 2 failures to connect to port 21.
Change the monitor event in 40.vsftpd so it only fails if there are 2
successive failures connecting to port 21. This reduces the
likelihood of unhealthy nodes due to vsftpd being restarted for
reconfiguration due to node failover or system reconfiguration.
New eventscript functions ctdb_counter_init, ctdb_counter_incr,
ctdb_counter_limit. These are used to count arbitrary things in
eventscripts, depending on the eventscript name and a tag that is
passed, and determine if a specified limit has been hit. They're good
for counting failures!
These functions are used in 40.vsftpd and also in 01.reclock - the
latter used to do the counting without these functions.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 803cfb4cd2f6d139f466053a6d7e104fcb772ef5
Merge: 096cdc0c12d22d99f8405bee5cb9f05c616c8492 d1332f4d5d3d3e4b4e0cd362a6903d09e0d5fcbb
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Sep 30 19:22:59 2009 +1000
Merge commit 'origin/master'
commit d1332f4d5d3d3e4b4e0cd362a6903d09e0d5fcbb
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Sep 29 13:31:41 2009 +1000
New version 1.0.91
commit 95a3ee551241aa164967991fe5efe078e1714bde
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Sep 29 13:20:18 2009 +1000
From Wolfgang Mueller-Friedt
Remove the explicit vacuum/repack commands from the 00.ctdb eventscript
and implement this in the ctdb daemon.
Combine vacuuming and repacking into one
cheap read traverse to enumerate all candidate records
and one write traverse that both repacks the database and also deletes the record locally where we are lmaster and where the records have already been deleted remotely.
this code also adds initial autotuning heuristics for the vacuum intervals and how many records to delete in each iteration.
minor stylish changes made by ronnie s
commit 096cdc0c12d22d99f8405bee5cb9f05c616c8492
Merge: a083a1976d621c76121f1fa2c2f484cfa47267bd 6e35feb06ec036b9036c5d1cdd94f7cef140d8a6
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Sep 29 12:59:10 2009 +1000
Merge commit 'origin/master'
commit 6e35feb06ec036b9036c5d1cdd94f7cef140d8a6
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Sep 28 14:12:59 2009 +1000
change the reclock fail count to 19 monitor intervals before we shut down ctdbd
commit 2cb04747887674def299e574fccb827c1c3194e7
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Sep 28 14:06:40 2009 +1000
add a new eventscript 01.reclock
if the reclock file has been set, then this script will test that the
reclock file can actually be accessed.
if the file does not exist, or if the attempts to stat the file hangs,
the node will be marked unhealthy after the third failed monitoring event
and after the tenth failure, ctdb itself will shutdown.
commit 5e7dc36f1649824db2f9dab34bede8b388502a57
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Sep 28 13:39:54 2009 +1000
add machinereadable output for the ctdb getreclock command
commit a083a1976d621c76121f1fa2c2f484cfa47267bd
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Sep 25 18:00:17 2009 +1000
Test suite: Print debug info on node status timeouts.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit edb58a417bfeb094cbbbf96caec8e2918256dad9
Merge: db7195d762f69577c4e28f0b0e0ded0ac7f91f0b 4364419a486c1995bea56dab603cc4960e7c8e7a
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Sep 25 17:34:59 2009 +1000
Merge commit 'obnox/master-rebase'
commit db7195d762f69577c4e28f0b0e0ded0ac7f91f0b
Merge: 0e6a52ee66830e7742eaa392cd3dd9caeb808fb3 f66d17fb2e81a35d5adb3754e1cc902f76b4590a
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Sep 25 13:18:18 2009 +1000
Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
commit f66d17fb2e81a35d5adb3754e1cc902f76b4590a
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Sep 25 13:14:53 2009 +1000
with the new banning logic with one struct for each node we no longer "forget" the other culprits as often as we used to do, which means that things like "ctdb recover" can now actually lead to a node becomming banned if we perform too many recoveries too frequently.
change this to provide absolution to all nodes once they have participated in a recovery session.
commit 4364419a486c1995bea56dab603cc4960e7c8e7a
Author: Michael Adam <obnox at samba.org>
Date: Thu Sep 10 16:21:01 2009 +0200
Revert "dont check if commit failed, we do allow the commit to fail sometimes"
This reverts commit affa6f47432507e84b7e76b88a2c27fff8e6e2e4.
Transaction commit should not be allowed to fail.
This is a fatal error.
Michael
commit 74e416108df6934f45ca646d709785dd76ab3c35
Author: Michael Adam <obnox at samba.org>
Date: Thu Sep 10 16:20:26 2009 +0200
Revert "allow the transaction commit to fail"
This reverts commit 7a6134e684c9ac4763bf198ef1410867b6082c94.
Transaction commit should not be allowed to fail.
This is a fatal error.
Michael
commit 84e5a55a900b01903b80e23045edfc726d8d77a1
Author: Michael Adam <obnox at samba.org>
Date: Tue Aug 4 09:45:50 2009 +0200
ctdb_client: fix race in starting concurrent transactions on a single node
There are two races in concurrent transactions on a single node.
One in starting a transaction, and one with committing (replaying).
This commit closes the first race by storing the pid in the
transaction-lock record and comparing the own pid against it
as a measure to prevent starting a second transaction when
a second node has come inbetween and changed the pid in the lock
record.
Michael
commit 0e6a52ee66830e7742eaa392cd3dd9caeb808fb3
Merge: 3085170be8460e59996a3eee4e29fec9ddbcf0f8 31216fd48117526c943e42d137ce24ef89fa0009
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Sep 18 14:23:37 2009 +1000
Merge commit 'martins/master'
commit 3085170be8460e59996a3eee4e29fec9ddbcf0f8
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Sep 18 12:58:30 2009 +1000
dont mark the recovery daemon as a ban culprit just because a node in the cluster was set to recvoery mode == ACTIVE.
This happens normally when someone explicitely triggers a recovery using "ctdb recover"
commit 03b0d913ae009284e2fadda1b9246ec77d19db29
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Sep 15 19:33:53 2009 +1000
try restarting ststd indefinitely not just once
commit db7b96304e4725f29b12398b7582e385daed63ed
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Sep 15 19:33:35 2009 +1000
Revert "try to restart statd everytime it fails, not just the first time"
This reverts commit 4f7b39a4871af28df1c4545ec37db179fa47a7da.
commit 4f7b39a4871af28df1c4545ec37db179fa47a7da
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Sep 15 13:35:58 2009 +1000
try to restart statd everytime it fails, not just the first time
commit 1ae3a40705e14efcc24f558cd4d677932765c4fd
Merge: b5410e7be0525e6e5cd49ccebc7bbc57086f3cb2 7bf9fff9139a4270496bddb97f9433bab87824bf
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue Sep 15 08:05:33 2009 +1000
Merge commit 'obnox/master-rebase'
commit b5410e7be0525e6e5cd49ccebc7bbc57086f3cb2
Merge: 7a6134e684c9ac4763bf198ef1410867b6082c94 5624da65d3fad1905c9f93a9e41a90b98ad692d2
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Sat Sep 12 07:05:21 2009 +1000
Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
commit 5624da65d3fad1905c9f93a9e41a90b98ad692d2
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Sat Sep 12 07:30:18 2009 +1000
new version 1.0.90
commit 31216fd48117526c943e42d137ce24ef89fa0009
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Sep 11 16:15:31 2009 +1000
Test suite: Update "complex" tests for wait_until_node_has_status() change.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit a2aaef03d4d6bbd4b42f50f732254935d4d3469c
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Sep 11 15:55:53 2009 +1000
Test suite: wait_until_node_has_status() now uses "onnode any".
Many tests currently do this sort of thing:
onnode 0 $CTDB_TEST_WRAPPER wait_until_node_has_status 1 disconnected
In fact, they all use exactly the same "onnode 0 $CTDB_TEST_WRAPPER"
idiom. This is both repetitious and dangerous, since node 0 might be
shutdown during a test. Instead, we push "onnode any
$CTDB_TEST_WRAPPER" (which selects a connected node) into
wait_until_node_has_status() and just call that function directly in
tests, like this:
wait_until_node_has_status 1 disconnected
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 407b3117dfc1072117abf681ec98b9e252d8744c
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Sep 11 14:06:12 2009 +1000
Test suite: Rework the cluster (re)start code.
Make it possible to start on only 1 node - for tests that need to
restart a particular node.
_ctdb_hack_options() attempts to see what options are being passed to
a daemon that is being run via the initscript. It then sets a
corresponding environment variable that the initscript knows about.
Currently only the --start-as-stopped option is supported. This is
extremely ugly but it seems like the only way... :-(
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 7bf9fff9139a4270496bddb97f9433bab87824bf
Author: Michael Adam <obnox at samba.org>
Date: Fri Aug 28 13:01:27 2009 +0200
Introduce sysconfig variable CTDB_SYSLOG=yes/no (default "no").
This allows for controlling start of ctdbd with or without the option "--syslog"
from the sysconfig/ctdb file.
Michael
commit e5ba8e1a832c223496ad72209ce1d3203cdaa2d7
Author: Michael Adam <obnox at samba.org>
Date: Fri Aug 28 12:45:43 2009 +0200
ctdb_logging: fix a comment typo.
Michael
commit b060911683d8ac201806d35a505867fe3ba9519f
Author: Michael Adam <obnox at samba.org>
Date: Fri Aug 28 01:04:47 2009 +0200
Rename the CTDB_INIT_STYLE "ubuntu" to "debian" - this is where it comes from.
Micheal
commit 4899a888d4e2c31b4bd7220f3cd8936168942e61
Author: Mathieu Parent <math.parent at gmail.com>
Date: Fri Aug 28 00:58:52 2009 +0200
Update outdated autotools helper files.
This fixes https://bugzilla.samba.org/show_bug.cgi?id=6370
and http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=536256
Signed-off-by: Michael Adam <obnox at samba.org>
commit f7a326b560b12f8b46c01d98cdd460e5510c67fb
Author: Mathieu Parent <math.parent at gmail.com>
Date: Thu Aug 27 23:44:39 2009 +0200
Fix bashism in nfstickle event script.
Signed-off-by: Michael Adam <obnox at samba.org>
commit 0310a6b17d6167c46482a07c6cd96bcabda6ffbc
Author: Mathieu Parent <math.parent at gmail.com>
Date: Thu Aug 27 23:36:07 2009 +0200
Fix bashisms in samba event script.
Signed-off-by: Michael Adam <obnox at samba.org>
commit 13b81b6c8e01aa52a31756ecffa797a4761115db
Author: Mathieu Parent <math.parent at gmail.com>
Date: Thu Aug 27 23:35:41 2009 +0200
Fix bashisms in multipathd event script.
Signed-off-by: Michael Adam <obnox at samba.org>
commit 4fad47c1af8503385b090be281ffbd284021279c
Author: Mathieu Parent <math.parent at gmail.com>
Date: Thu Aug 27 23:35:03 2009 +0200
Fix bashism in natgw eventscript.
Signed-off-by: Michael Adam <obnox at samba.org>
commit 7a6134e684c9ac4763bf198ef1410867b6082c94
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Sep 9 12:50:55 2009 +1000
allow the transaction commit to fail
commit 12e14a09dd28ed005c8eb8fca7cd38a96aab938e
Merge: affa6f47432507e84b7e76b88a2c27fff8e6e2e4 e978b274a6af94ea7734675243ec65c5b17a583d
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Sep 9 12:50:21 2009 +1000
Merge commit 'martins/master'
commit e978b274a6af94ea7734675243ec65c5b17a583d
Merge: f6cf586d8f6384e48215b7d2c20fb83e98504878 8903b858ddd3a016d9cf765187839814443a67ca
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Sep 9 12:48:40 2009 +1000
Merge commit 'origin/master'
commit affa6f47432507e84b7e76b88a2c27fff8e6e2e4
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Sep 9 12:48:21 2009 +1000
dont check if commit failed, we do allow the commit to fail sometimes
commit 8903b858ddd3a016d9cf765187839814443a67ca
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Sep 9 10:57:39 2009 +1000
dont force an election just because the ban flag differs across the cluster.
a simple push to resync this flag is sufficient
commit f6cf586d8f6384e48215b7d2c20fb83e98504878
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Sep 8 15:19:24 2009 +1000
Document onnode "onnode any".
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit fb47cce86c0edae5caaf485f13ae7a151b6cb00d
Author: Martin Schwenke <martin at meltin.net>
Date: Tue Sep 8 15:10:20 2009 +1000
onnode: add "any" nodespec to select any node with running CTDB.
In testing and other situations (e.g. eventscripts) it is necessary to
select a node where a ctdb command can be run. The whole idea here is
to avoid nodes where ctdbd is not running and where most ctdb commands
would fail. This implements a standard way of doing this involving a
recursive onnode command.
There is still a small window for a race, where the selected node is
suddenly shutdown, but this is unavoidable.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 10ebeb215e7260186dab8f4f2403c48db9df9a00
Merge: cd65d8acb97aa9f83ff0d0585bf09caef2d2f3eb f76132b0d555e52ee0a379ec2c156350b37b0280
Author: Martin Schwenke <martin at meltin.net>
Date: Mon Sep 7 15:29:34 2009 +1000
Merge commit 'origin/master'
commit f76132b0d555e52ee0a379ec2c156350b37b0280
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Sep 4 04:09:30 2009 +1000
lower the loglevel for the info messages that a public ip is not hosted locally for takeip/releaseip
commit 46823aa7c673bc18a1424500b3f01da9c2dd6333
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Sep 4 03:05:37 2009 +1000
new version 1.0.89
commit 77574b7d7fe11c8e73957a80845481f3b2a64219
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Sep 4 02:59:24 2009 +1000
make it possible to have ctdb manage (start/stop/monitor) winbind without having samba
commit b869bb0e32d32422a5ba6b235864acba07f2b412
Merge: 7a95257a5ec19f232f661bc7f797051bf08ab776 0c4c2240267af183d54ffd4c0aacda208f6eff6a
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Sep 4 02:00:14 2009 +1000
Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
commit 0c4c2240267af183d54ffd4c0aacda208f6eff6a
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Sep 4 02:20:39 2009 +1000
new prototype banning code
commit 7a95257a5ec19f232f661bc7f797051bf08ab776
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Sep 2 04:39:17 2009 +1000
overwrite the state file, dont append to it.
dont log errors is trying to delete a nonexisting state file
this eliminates some annoying log entries in the ctdb log
commit e1d709f32196e19d4041ee2958e143791762e08f
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Sep 2 03:12:27 2009 +1000
redirect stderr to dev null since the rule might not exist when we try to unconditionally delete it
commit e26d9d32e68e7db1cf4f96c47c0126e9e0b213be
Author: Michael Adam <obnox at samba.org>
Date: Thu Aug 27 22:09:42 2009 +0200
set broadcast addresses in the takeip event.
Michael
commit 54c047c48902a15e5d2925bfa86e012a11188796
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Aug 28 05:19:44 2009 +1000
remove a check for the reclock file we dont need
commit cd65d8acb97aa9f83ff0d0585bf09caef2d2f3eb
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Aug 27 12:35:52 2009 +1000
Test suite: fix minor typo in complex/32_cifs_tickle.sh
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 9bceef2b13fe9560ca02a266ce5a1fbbcef3af22
Merge: 448cd8db1305c1e6dfab323f92eac4a576596e4e 85590e9dfaab0db16ce8103e509fd4d51aef4ad5
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Aug 27 12:33:43 2009 +1000
Merge commit 'origin/master'
commit 448cd8db1305c1e6dfab323f92eac4a576596e4e
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Jul 16 14:04:06 2009 +1000
Test suite: Fix debug code for unexpectedly unhealthy cluster.
The debug code should run "ctdb status" on a cluster node, not on the
test client.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 85590e9dfaab0db16ce8103e509fd4d51aef4ad5
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Aug 19 08:25:50 2009 +1000
skip any persistent databases ending in .bak
commit 8ed4fa0eb09238952044645b72234185e498a40c
Merge: 49de8429d2a996dc055370541a12ea36762abe94 fbfa1c72875dda4d1636d8e72c67ba09b10455df
Author: Martin Schwenke <martin at meltin.net>
Date: Mon Aug 17 13:08:42 2009 +1000
Merge commit 'origin/master'
commit fbfa1c72875dda4d1636d8e72c67ba09b10455df
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Aug 17 11:04:40 2009 +1000
new version 1.0.88
commit e5b25e1386294b1f800c32fb01c69c3c3ce85c26
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Aug 17 10:56:12 2009 +1000
reduce the loglevel for the message that we switch to a different recmaster while waiting for ipreallocate to finish
commit d8d21884736a9610d48cf532e1c6778e511fb7a8
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Aug 17 10:54:45 2009 +1000
if no timeout at all is specified to the ctdb tool, neither using -T nor by setting CGTDB_TIMEOUT, then use 120 seconds as a default timepout before the ctdb command will exit with an error.
commit 49de8429d2a996dc055370541a12ea36762abe94
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Aug 14 20:47:38 2009 +1000
Test suite: ctdb_persistent.c needs to use transactions.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 5852a526ce7d0333cd1f9a05353d8920ea99db37
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Aug 13 13:02:00 2009 +1000
document enable/disablescript
commit 7e799b7523c9699bd65a8a8207f7e03d668b0b81
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Aug 13 13:04:08 2009 +1000
add new controls to make it possible to enable/disable individual eventscripts
update scriptstatus output so it lists disabled scripts
commit 0e9c3e0cf76dd33a24241f02709e56bc330f009a
Merge: abf4540bfb06de56b0a7b5976b5f1b2a24a8743d a42dbdb7b9ccf3ce2aed48aa33f1cd3af2e94fe3
Author: Martin Schwenke <martin at meltin.net>
Date: Wed Aug 12 08:48:03 2009 +1000
Merge commit 'origin/master'
commit a42dbdb7b9ccf3ce2aed48aa33f1cd3af2e94fe3
Merge: 836b95f32724cf37e4f643f20653f78842613692 9a251078f22aea15b9ca37393e0b5e2740aa21fb
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Aug 10 07:33:52 2009 +1000
Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
commit 836b95f32724cf37e4f643f20653f78842613692
Author: Michael Adam <obnox at samba.org>
Date: Thu Jul 30 12:02:27 2009 +0200
tests: fix the 52_ctdb_fetch.sh test.
The parser for the output of the ctdb_fetch program
did not match the output that ctdb_fetch generates.
It seemed to rather come from the ctdb_bench test...
This patch adapts the parser to correctly interpret
the output of ctdb_fetch.
Michael
commit c513a31d755003d7af91529790b06ce0d226c90f
Author: Michael Adam <obnox at samba.org>
Date: Sun Jul 12 00:39:29 2009 +0200
client: fix a debug message (misplaced newline).
Michael
commit 875778fbbfd6b0f09fd2db76f7348ad6271350a3
Author: Michael Adam <obnox at samba.org>
Date: Wed Jul 15 10:03:03 2009 +0200
client:ctdb_control_send: remove duplicate setting of the reqid header.
Michael
commit a0ad69197b4771f3d5be23d78d0933d732405f08
Author: Michael Adam <obnox at samba.org>
Date: Tue Jul 21 09:50:56 2009 +0200
ctdbd: use ctdb_syslog_log() as debug_add function for syslog
Michael
commit afafab0ac6cac90c3f8614204b5b6df92e446728
Author: Michael Adam <obnox at samba.org>
Date: Tue Jul 21 09:48:10 2009 +0200
ctdbd: set debug_add hook to be able to use dump_data in the daemon.
Michael
commit 64405bdbebb2ddf0ae980e958ede77df79139000
Author: Michael Adam <obnox at samba.org>
Date: Tue Jul 21 09:47:07 2009 +0200
debug: add debug_add and dump_data functions
Michael
commit 8f48e37c254e0852d4e2dea54b905ce5ef2b925d
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Thu Jul 30 11:52:39 2009 +0930
tdb: don't alter tdb->flags in tdb_reopen_all()
The flags are user-visible, via tdb_get_flags/add_flags/remove_flags.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 8d0d432ab7766d9c0f9868fd77e48b9b5cc5d9f9
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Thu Jul 30 11:52:08 2009 +0930
tdb: Reimplementation of Metze's "lib/tdb: if we know pwrite and pread are thread/fork safe tdb_reopen_all() should be a noop".
This version just wraps the reopen code, so we still re-grab the lock and do
the normal sanity checks.
The reason we do this at all is to avoid global fd limits, see:
http://forums.fedoraforum.org/showthread.php?t=210393
Note also that this whole reopen concept is fundamentally racy: if the parent
goes away before the child calls tdb_reopen_all, the database can be left
without an active lock and another TDB_CLEAR_IF_FIRST opener will clear it.
A fork_with_tdbs() wrapper could use a pipe to solve this, but it's hardly
elegant (what if there are other independent things which have similar needs?).
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 8b6a5bba93843cd83b7b386b82949ad88f29884a
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Thu Jul 30 13:10:33 2009 -0700
realloc() has that horrible overloaded free semantic when size is 0: current code does a free of the old record in this case, then fail.
commit 6de2823f5f7976d4efa20761e518d6b67753f054
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Thu Jul 30 13:09:33 2009 -0700
If the record is at the end of the database, pretending it has length 1 might take us out-of-bounds. Only pretend to be length 1 for the malloc.
commit ce19658ba13272238058e9b9bc03e62f48b737c0
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Wed Jul 29 14:53:03 2009 +0930
Port from SAMBA tdb: commit 54a51839ea65aa788b18fce8de0ae4f9ba63e4e7 Author: Rusty Russell <rusty at rustcorp.com.au> Date: Sat Jul 18 15:28:58 2009 +0930
Make tdb transaction lock recursive (samba version)
This patch replaces 6ed27edbcd3ba1893636a8072c8d7a621437daf7 and
1a416ff13ca7786f2e8d24c66addf00883e9cb12, which fixed the bug where traversals
inside transactions would release the transaction lock early.
This solution is more general, and solves the more minor symptom that nested
traversals would also release the transaction lock early. (It was also suggestd in
Volker's comment in 6ed27ed).
This patch also applies to ctdb, if the traverse.c part is removed (ctdb's tdb
code never received the previous two fixes).
Tested using the testsuite from ccan (adapted to the samba code). Thanks to
Michael Adam for feedback.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
Signed-off-by: Michael Adam <obnox at samba.org>
commit 760104188d0d2ed96ec4a70138e6d0bf86d797ed
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Tue Jul 21 16:23:35 2009 +0930
tdb: fix locking error
54a51839ea65aa788b18fce8de0ae4f9ba63e4e7 "Make tdb transaction lock
recursive (samba version)" was broken: I "cleaned it up" and prevented
it from ever unlocking.
To see the problem:
$ bin/tdbtorture -s 1248142523
tdb_brlock failed (fd=3) at offset 8 rw_type=1 lck_type=14 len=1
tdb_transaction_lock: failed to get transaction lock
tdb_transaction_start failed: Resource deadlock avoided
My testcase relied on the *count* being correct, which it was. Fixing that
now.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
Signed-off-by: Michael Adam <obnox at samba.org>
commit e72974e5cefabc7035399d16633f727f868caa61
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Wed Jul 29 14:51:34 2009 +0930
Port from SAMBA tdb: commit a6cc04a20089e8fbcce138c271961c37ddcd6c34 Author: Andrew Tridgell <tridge at samba.org> Date: Mon Jun 1 13:13:07 2009 +1000
overallocate all records by 25%
This greatly reduces the fragmentation of databases where records
tend to grow slowly by a small amount each time. The case where this
is most seen is the ldb index records. Adding this overallocation
reduced the size of the resulting database by more than 20x when
running a test that adds 10k users.
commit 233c52bfb087f636ad61e95c12616c02901f4f83
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Wed Jul 29 14:51:12 2009 +0930
Port from SAMBA tdb: commit a386173fa1c7c5bcc11ea9260d84b6c52c154b3d Author: Andrew Tridgell <tridge at samba.org> Date: Mon Jun 1 13:11:39 2009 +1000
auto-repack in transactions that expand the tdb
The idea behind this is to recover from badly fragmented free
lists. Choosing the point where the file expands is fairly arbitrary,
but seems to work well.
commit fe3ceb101a5a9c336973c2c6c31406bd8181c2fe
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Wed Jul 29 16:02:51 2009 +0930
Port from SAMBA ctdb: commit 936d76802f98d04d9743b2ca8eeeaadd4362db51 Author: Andrew Tridgell <tridge at samba.org> Date: Tue Dec 16 14:38:17 2008 +1100
imported the tdb_repack() code from CTDB
The tdb_repack() function repacks a TDB so that it has a single
freelist entry. The file doesn't shrink, but it does remove all
freelist fragmentation. This code originated in the CTDB vacuuming
code, but will now be used in ldb to cope with fragmentation from
re-indexing
commit e03980add02a28609a7a0a0c87ebc85419b98144
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Wed Jul 29 14:50:39 2009 +0930
Port from SAMBA tdb: commit 4b4fec65db4e202afa13b2d15867f4d8a54d154e Author: Andrew Tridgell <tridge at samba.org> Date: Thu May 28 16:08:28 2009 +1000
make TDB_NOSYNC affect all the fsync/msync calls in transactions
During a transaction commit tdb normally uses fsync/msync calls to
make it crash safe. This can be disabled using the TDB_NOSYNC flag,
but it wasn't disabling all the code paths that caused a fsync/msync.
commit 5253a0ba3a34fbf5810f363ecc094203d49e835f
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Wed Jul 29 14:49:57 2009 +0930
Port from SAMBA tdb: commit a91bcbccf8a2243dac57cacec6fdfc9907580f69 Author: Jim McDonough <jmcd at samba.org> Date: Thu May 21 16:26:26 2009 -0400
Detect tight loop in tdb_find()
commit aa22d1875b1997664af983c0baeabe34e40dd253
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Wed Jul 29 14:48:42 2009 +0930
Port from SAMBA tdb: commit 42c0931441ef53a3f977e1334355fa83f05ac184 Author: Tim Prouty <tprouty at samba.org> Date: Tue Mar 31 16:24:07 2009 -0700
tdb: Remove unused variable
commit 4c3dac215a088947f645f727343997f5d47e3260
Author: Rusty Russell <rusty at rustcorp.com.au>
Date: Wed Jul 29 14:47:29 2009 +0930
Port from SAMBA tdb:
commit b90863c0b7b860b006ac49c9396711ff351f777f
Author: Howard Chu <hyc at highlandsun.com>
Date: Tue Mar 31 13:15:54 2009 +1100
Add tdb_transaction_prepare_commit()
Using tdb_transaction_prepare_commit() gives us 2-phase commits. This
allows us to safely commit across multiple tdb databases at once, with
reasonable transaction semantics
Signed-off-by: tridge at samba.org
commit 9a251078f22aea15b9ca37393e0b5e2740aa21fb
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Mon Aug 3 12:51:55 2009 +1000
update STOP/CONTINUE to better handle when we stop the last node
commit abf4540bfb06de56b0a7b5976b5f1b2a24a8743d
Merge: f9b71757f034732647228d4b8a8f00528028b6b0 32a69b0efa078b069802470be6488a4efe32961d
Author: Martin Schwenke <martin at meltin.net>
Date: Fri Jul 31 11:04:37 2009 +1000
Merge commit 'origin/master'
commit f9b71757f034732647228d4b8a8f00528028b6b0
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Jul 30 14:10:34 2009 +1000
Test suite: Retrieval NFS_TICKLE_SHARED_DIRECTORY more defensively.
In complex/31_nfs_tickle.sh we run sed against a file that might not
exist, causing potential garbage from stderr in the output. Check
that the file exists before running sed.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit c53353c6402f378f29200313d82f1f9262d628b1
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Jul 30 14:03:44 2009 +1000
Test suite: Better diagnostics for recent change to complex/31_nfs_tickle.sh.
Add a -v so we see the output of the command that tries to get the
value of NFS_TICKLE_SHARED_DIRECTORY. That way we can tell if a value
was retrived OK or if we're using the default.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 878437a909ea44dfc3635f082e34741ee256e505
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Jul 30 13:57:40 2009 +1000
Test suite: complex/31_nfs_tickle.sh should use NFS_TICKLE_SHARED_DIRECTORY.
Rather than hardcoding the location of the shared tickle directory,
attempt to use the value of NFS_TICKLE_SHARED_DIRECTORY from
/etc/sysconfig/nfs on node 0.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit 8fcc4610de926f44e18ec85fb57ca5f7d3c28bd6
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Jul 30 13:45:06 2009 +1000
Test suite: Ask CTDB about CIFS tickles registered for the actual test node.
This failed when node 0 had no public IPs because we would always run
"ctdb gettickles" on node. We now ask node 0 for the tickles on the
test node.
Signed-off-by: Martin Schwenke <martin at meltin.net>
commit b7787255391eddef8458f81ff9b75d9116e2afd3
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Jul 30 13:20:23 2009 +1000
Test suite: Turn off strict host key checking in the SSH failover test.
Signed-off-by: Martin Schwenke <martin at meltin.net>
-----------------------------------------------------------------------
Summary of changes:
Makefile.in | 20 +-
client/ctdb_client.c | 677 ++++++++--
common/ctdb_io.c | 39 +-
common/ctdb_logging.c | 186 +++
common/ctdb_util.c | 106 +-
common/system_linux.c | 7 +
config.guess | 197 ++-
config.sub | 216 +++-
config/ctdb.init | 73 +-
config/ctdb.sysconfig | 90 ++-
config/events.d/00.ctdb | 40 +-
config/events.d/01.reclock | 46 +
config/events.d/10.interface | 280 +++--
config/events.d/11.natgw | 20 +-
config/events.d/11.routing | 16 +-
config/events.d/13.per_ip_routing | 444 ++++++
config/events.d/20.multipathd | 24 +-
config/events.d/31.clamd | 49 +-
config/events.d/40.vsftpd | 65 +-
config/events.d/41.httpd | 73 +-
config/events.d/50.samba | 193 ++--
config/events.d/60.nfs | 127 +-
config/events.d/61.nfstickle | 57 +-
config/events.d/70.iscsi | 39 +-
config/events.d/91.lvs | 19 +-
config/events.d/99.timeout | 26 +
config/events.d/README | 23 +-
config/functions | 535 ++++++--
config/gdb_backtrace | 87 ++
config/interface_modify.sh | 73 +
config/notify.sh | 9 +
config/statd-callout | 5 +-
configure.ac | 11 +-
doc/ctdb.1 | 145 ++-
doc/ctdb.1.html | 254 +++--
doc/ctdb.1.xml | 169 +++-
doc/ctdbd.1 | 72 +-
doc/ctdbd.1.html | 131 ++-
doc/ctdbd.1.xml | 111 ++-
doc/onnode.1 | 124 ++-
doc/onnode.1.html | 34 +-
doc/onnode.1.xml | 53 +-
include/ctdb.h | 107 ++-
include/ctdb_private.h | 254 +++-
include/includes.h | 9 +-
lib/events/events_epoll.c | 32 +-
lib/events/events_select.c | 28 +-
lib/events/events_standard.c | 37 +-
lib/replace/config.guess | 197 ++-
lib/replace/config.sub | 216 +++-
lib/talloc/config.guess | 197 ++-
lib/talloc/config.sub | 216 +++-
lib/talloc/talloc.c | 7 +-
lib/talloc/talloc.h | 1 +
lib/tdb/Makefile.in | 129 +--
lib/tdb/autogen.sh | 2 -
lib/tdb/build_macros.m4 | 14 +
lib/tdb/common/check.c | 423 ++++++
lib/tdb/common/dump.c | 4 +-
lib/tdb/common/freelist.c | 26 +-
lib/tdb/common/freelistcheck.c | 8 +-
lib/tdb/common/io.c | 52 +-
lib/tdb/common/lock.c | 81 +-
lib/tdb/common/open.c | 104 ++-
lib/tdb/common/tdb.c | 424 +++++-
lib/tdb/common/tdb_private.h | 56 +-
lib/tdb/common/transaction.c | 270 +++--
lib/tdb/common/traverse.c | 60 +-
lib/tdb/config.guess | 153 ++-
lib/tdb/config.mk | 32 +-
lib/tdb/config.sub | 205 +++-
lib/tdb/configure.ac | 31 +-
lib/tdb/docs/README | 32 +-
lib/tdb/docs/tracing.txt | 46 +
lib/tdb/include/config.h.in | 708 ----------
lib/tdb/include/tdb.h | 13 +-
lib/tdb/libtdb.m4 | 11 +-
lib/tdb/pytdb.c | 516 +++++++
lib/tdb/python.mk | 6 +
lib/tdb/python/tdbdump.py | 12 +
lib/tdb/python/tests/simple.py | 133 ++
lib/tdb/release-script.sh | 48 +
lib/tdb/rules.mk | 16 +
lib/tdb/script/abi_checks.sh | 91 ++
lib/tdb/script/abi_checks_gcc.sh | 35 +
lib/tdb/script/mksigs.pl | 183 +++
lib/tdb/script/mksyms.awk | 76 +
lib/tdb/script/mksyms.sh | 45 +
lib/tdb/swig/Tdb.py | 116 --
lib/tdb/swig/tdb.i | 167 ---
lib/tdb/swig/tdb.py | 95 --
lib/tdb/tdb.exports | 65 +
lib/tdb/tdb.mk | 89 ++
lib/tdb/tdb.pc | 12 -
lib/tdb/tdb.pc.in | 1 +
lib/tdb/tdb.signatures | 60 +
lib/tdb/tools/tdbbackup.c | 63 +-
lib/tdb/tools/tdbdump.c | 4 +-
lib/tdb/tools/tdbtool.c | 462 ++++---
lib/tdb/tools/tdbtorture.c | 56 +-
lib/tdb/web/index.html | 48 +
lib/util/debug.c | 75 +-
lib/util/debug.h | 5 +
lib/util/dlinklist.h | 42 +
lib/util/fault.c | 239 ++++
lib/util/fault.m4 | 15 +
lib/util/signal.c | 144 ++
lib/util/signal.m4 | 1 +
lib/util/substitute.c | 167 +++
lib/util/util.h | 658 +++++++++
packaging/RPM/ctdb.spec | 687 ---------
packaging/RPM/ctdb.spec.in | 886 ++++++++++++
packaging/RPM/makerpms.sh | 11 +
packaging/maketarball.sh | 78 +-
server/ctdb_banning.c | 136 ++
server/ctdb_call.c | 2 +-
server/ctdb_control.c | 113 ++-
server/ctdb_daemon.c | 255 ++++-
server/ctdb_freeze.c | 349 ++++--
server/ctdb_lockwait.c | 4 +
server/ctdb_logging.c | 384 +++++-
server/ctdb_ltdb_server.c | 682 +++++++++-
server/ctdb_monitor.c | 226 +++-
server/ctdb_persistent.c | 249 ++++-
server/ctdb_recover.c | 160 ++-
server/ctdb_recoverd.c | 941 ++++++++------
server/ctdb_server.c | 34 +-
server/ctdb_takeover.c | 961 +++++++++++--
server/ctdb_traverse.c | 24 +
server/ctdb_tunables.c | 14 +-
server/ctdb_vacuum.c | 661 +++++++++-
server/ctdbd.c | 46 +-
server/eventscript.c | 1140 +++++++++-------
tcp/tcp_connect.c | 16 +-
tests/complex/01_ctdb_nfs_skip_share_check.sh | 135 ++
tests/complex/02_ctdb_samba_skip_share_check.sh | 140 ++
tests/complex/31_nfs_tickle.sh | 17 +-
tests/complex/32_cifs_tickle.sh | 17 +-
tests/complex/33_gratuitous_arp.sh | 2 +-
tests/complex/41_failover_ping_discrete.sh | 2 +-
tests/complex/42_failover_ssh_hostname.sh | 6 +-
tests/complex/43_failover_nfs_basic.sh | 2 +-
tests/complex/44_failover_nfs_oneway.sh | 2 +-
tests/events.d/00.test | 11 +-
tests/scripts/ctdb_test_functions.bash | 306 ++++-
tests/simple/00_ctdb_install_eventscript.sh | 58 -
tests/simple/03_ctdb_getvar.sh | 2 +-
tests/simple/09_ctdb_ping.sh | 4 +-
tests/simple/11_ctdb_ip.sh | 22 +-
tests/simple/16_ctdb_config_add_ip.sh | 2 +-
tests/simple/17_ctdb_config_delete_ip.sh | 4 +-
tests/simple/18_ctdb_freeze.sh | 2 +-
tests/simple/19_ctdb_thaw.sh | 4 +-
tests/simple/20_ctdb_getmonmode.sh | 2 +-
tests/simple/21_ctdb_disablemonitor.sh | 100 --
tests/simple/22_ctdb_enablemonitor.sh | 100 --
tests/simple/23_ctdb_moveip.sh | 2 +-
..._ctdb_config_check_error_on_unreachable_ctdb.sh | 2 +-
tests/simple/31_ctdb_disable.sh | 2 +-
tests/simple/32_ctdb_enable.sh | 4 +-
tests/simple/41_ctdb_stop.sh | 2 +-
tests/simple/42_ctdb_continue.sh | 4 +-
tests/simple/43_stop_recmaster_yield.sh | 2 +-
tests/simple/52_ctdb_fetch.sh | 45 +-
tests/simple/53_ctdb_transaction.sh | 6 +-
tests/simple/54_ctdb_transaction_recovery.sh | 66 +
tests/simple/61_ctdb_persistent_safe.sh | 39 -
tests/simple/62_ctdb_persistent_unsafe.sh | 39 -
tests/simple/99_ctdb_uninstall_eventscript.sh | 24 -
tests/src/ctdb_fetch.c | 5 +
tests/src/ctdb_fetch_one.c | 140 ++
tests/src/ctdb_persistent.c | 25 +-
tests/src/ctdb_transaction.c | 102 +-
tools/ctdb.c | 1450 +++++++++++++++++---
tools/ctdb_diagnostics | 4 +-
tools/ctdb_vacuum.c | 4 +-
tools/onnode | 69 +-
177 files changed, 17895 insertions(+), 6035 deletions(-)
create mode 100644 common/ctdb_logging.c
create mode 100755 config/events.d/01.reclock
create mode 100755 config/events.d/13.per_ip_routing
create mode 100755 config/events.d/99.timeout
create mode 100755 config/gdb_backtrace
create mode 100755 config/interface_modify.sh
create mode 100644 lib/tdb/build_macros.m4
create mode 100644 lib/tdb/common/check.c
create mode 100644 lib/tdb/docs/tracing.txt
delete mode 100644 lib/tdb/include/config.h.in
create mode 100644 lib/tdb/pytdb.c
create mode 100644 lib/tdb/python.mk
create mode 100644 lib/tdb/python/tdbdump.py
create mode 100644 lib/tdb/python/tests/simple.py
create mode 100755 lib/tdb/release-script.sh
create mode 100644 lib/tdb/rules.mk
create mode 100755 lib/tdb/script/abi_checks.sh
create mode 100755 lib/tdb/script/abi_checks_gcc.sh
create mode 100755 lib/tdb/script/mksigs.pl
create mode 100644 lib/tdb/script/mksyms.awk
create mode 100755 lib/tdb/script/mksyms.sh
delete mode 100644 lib/tdb/swig/Tdb.py
delete mode 100644 lib/tdb/swig/tdb.i
delete mode 100644 lib/tdb/swig/tdb.py
create mode 100644 lib/tdb/tdb.exports
create mode 100644 lib/tdb/tdb.mk
delete mode 100644 lib/tdb/tdb.pc
create mode 100644 lib/tdb/tdb.signatures
create mode 100644 lib/tdb/web/index.html
create mode 100644 lib/util/fault.c
create mode 100644 lib/util/fault.m4
create mode 100644 lib/util/signal.c
create mode 100644 lib/util/signal.m4
create mode 100644 lib/util/substitute.c
create mode 100644 lib/util/util.h
delete mode 100644 packaging/RPM/ctdb.spec
create mode 100644 packaging/RPM/ctdb.spec.in
create mode 100644 server/ctdb_banning.c
create mode 100755 tests/complex/01_ctdb_nfs_skip_share_check.sh
create mode 100755 tests/complex/02_ctdb_samba_skip_share_check.sh
delete mode 100755 tests/simple/00_ctdb_install_eventscript.sh
delete mode 100755 tests/simple/21_ctdb_disablemonitor.sh
delete mode 100755 tests/simple/22_ctdb_enablemonitor.sh
create mode 100755 tests/simple/54_ctdb_transaction_recovery.sh
delete mode 100755 tests/simple/61_ctdb_persistent_safe.sh
delete mode 100755 tests/simple/62_ctdb_persistent_unsafe.sh
delete mode 100755 tests/simple/99_ctdb_uninstall_eventscript.sh
create mode 100644 tests/src/ctdb_fetch_one.c
Changeset truncated at 500 lines:
diff --git a/Makefile.in b/Makefile.in
index a32efa8..ad34f68 100755
--- a/Makefile.in
+++ b/Makefile.in
@@ -35,11 +35,13 @@ CFLAGS=-g -I$(srcdir)/include -Iinclude -Ilib -Ilib/util -I$(srcdir) \
LIB_FLAGS=@LDFLAGS@ -Llib @LIBS@ $(POPT_LIBS) @INFINIBAND_LIBS@ @CTDB_PCAP_LDFLAGS@
UTIL_OBJ = lib/util/idtree.o lib/util/db_wrap.o lib/util/strlist.o lib/util/util.o \
- lib/util/util_time.o lib/util/util_file.o
+ lib/util/util_time.o lib/util/util_file.o lib/util/fault.o lib/util/substitute.o \
+ lib/util/signal.o
CTDB_COMMON_OBJ = common/ctdb_io.o common/ctdb_util.o \
common/ctdb_ltdb.o common/ctdb_message.o common/cmdline.o \
- lib/util/debug.o common/rb_tree.o @CTDB_SYSTEM_OBJ@ common/system_common.o
+ lib/util/debug.o common/rb_tree.o @CTDB_SYSTEM_OBJ@ common/system_common.o \
+ common/ctdb_logging.c
CTDB_TCP_OBJ = tcp/tcp_connect.o tcp/tcp_io.o tcp/tcp_init.o
@@ -54,10 +56,11 @@ CTDB_SERVER_OBJ = server/ctdbd.o server/ctdb_daemon.o server/ctdb_lockwait.o \
server/ctdb_traverse.o server/eventscript.o server/ctdb_takeover.o \
server/ctdb_serverids.o server/ctdb_persistent.o \
server/ctdb_keepalive.o server/ctdb_logging.o server/ctdb_uptime.o \
- server/ctdb_vacuum.o \
+ server/ctdb_vacuum.o server/ctdb_banning.o \
$(CTDB_CLIENT_OBJ) $(CTDB_TCP_OBJ) @INFINIBAND_WRAPPER_OBJ@
-TEST_BINS=tests/bin/ctdb_bench tests/bin/ctdb_fetch tests/bin/ctdb_store \
+TEST_BINS=tests/bin/ctdb_bench tests/bin/ctdb_fetch tests/bin/ctdb_fetch_one \
+ tests/bin/ctdb_store \
tests/bin/ctdb_randrec tests/bin/ctdb_persistent \
tests/bin/ctdb_traverse tests/bin/rb_test tests/bin/ctdb_transaction \
@INFINIBAND_BINS@
@@ -142,6 +145,10 @@ tests/bin/ctdb_fetch: $(CTDB_CLIENT_OBJ) tests/src/ctdb_fetch.o
@echo Linking $@
@$(CC) $(CFLAGS) -o $@ tests/src/ctdb_fetch.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS)
+tests/bin/ctdb_fetch_one: $(CTDB_CLIENT_OBJ) tests/src/ctdb_fetch_one.o
+ @echo Linking $@
+ @$(CC) $(CFLAGS) -o $@ tests/src/ctdb_fetch_one.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS)
+
tests/bin/ctdb_store: $(CTDB_CLIENT_OBJ) tests/src/ctdb_store.o
@echo Linking $@
@$(CC) $(CFLAGS) -o $@ tests/src/ctdb_store.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS)
@@ -204,13 +211,16 @@ install: all
${INSTALLCMD} -m 644 include/ctdb_private.h $(DESTDIR)$(includedir) # for samba3
${INSTALLCMD} -m 644 config/functions $(DESTDIR)$(etcdir)/ctdb
${INSTALLCMD} -m 755 config/statd-callout $(DESTDIR)$(etcdir)/ctdb
+ ${INSTALLCMD} -m 755 config/interface_modify.sh $(DESTDIR)$(etcdir)/ctdb
${INSTALLCMD} -m 644 config/events.d/README $(DESTDIR)$(docdir)/ctdb/README.eventscripts
${INSTALLCMD} -m 644 doc/recovery-process.txt $(DESTDIR)$(docdir)/ctdb/recovery-process.txt
${INSTALLCMD} -m 755 config/events.d/00.ctdb $(DESTDIR)$(etcdir)/ctdb/events.d
+ ${INSTALLCMD} -m 755 config/events.d/01.reclock $(DESTDIR)$(etcdir)/ctdb/events.d
${INSTALLCMD} -m 755 config/events.d/10.interface $(DESTDIR)$(etcdir)/ctdb/events.d
${INSTALLCMD} -m 755 config/events.d/11.natgw $(DESTDIR)$(etcdir)/ctdb/events.d
${INSTALLCMD} -m 755 config/events.d/11.routing $(DESTDIR)$(etcdir)/ctdb/events.d
- ${INSTALLCMD} -m 755 config/events.d/20.multipathd $(DESTDIR)$(etcdir)/ctdb/events.d
+ ${INSTALLCMD} -m 755 config/events.d/13.per_ip_routing $(DESTDIR)$(etcdir)/ctdb/events.d
+ ${INSTALLCMD} -m 644 config/events.d/20.multipathd $(DESTDIR)$(etcdir)/ctdb/events.d
${INSTALLCMD} -m 644 config/events.d/31.clamd $(DESTDIR)$(etcdir)/ctdb/events.d
${INSTALLCMD} -m 755 config/events.d/40.vsftpd $(DESTDIR)$(etcdir)/ctdb/events.d
${INSTALLCMD} -m 755 config/events.d/41.httpd $(DESTDIR)$(etcdir)/ctdb/events.d
diff --git a/client/ctdb_client.c b/client/ctdb_client.c
index f6dbc73..9a89176 100644
--- a/client/ctdb_client.c
+++ b/client/ctdb_client.c
@@ -30,6 +30,8 @@
#include "../include/ctdb_private.h"
#include "lib/util/dlinklist.h"
+pid_t ctdbd_pid;
+
/*
allocate a packet for use in client<->daemon communication
*/
@@ -764,7 +766,9 @@ static void control_timeout_func(struct event_context *ev, struct timed_event *t
{
struct ctdb_client_control_state *state = talloc_get_type(private_data, struct ctdb_client_control_state);
- DEBUG(DEBUG_ERR,("control timed out. reqid:%d opcode:%d dstnode:%d\n", state->reqid, state->c->opcode, state->c->hdr.destnode));
+ DEBUG(DEBUG_ERR,(__location__ " control timed out. reqid:%u opcode:%u "
+ "dstnode:%u\n", state->reqid, state->c->opcode,
+ state->c->hdr.destnode));
state->state = CTDB_CONTROL_TIMEOUT;
@@ -815,7 +819,6 @@ struct ctdb_client_control_state *ctdb_control_send(struct ctdb_context *ctdb,
CTDB_NO_MEMORY_NULL(ctdb, c);
c->hdr.reqid = state->reqid;
c->hdr.destnode = destnode;
- c->hdr.reqid = state->reqid;
c->opcode = opcode;
c->client_id = 0;
c->flags = flags;
@@ -1495,6 +1498,44 @@ int ctdb_ctrl_getdbname(struct ctdb_context *ctdb, struct timeval timeout, uint3
}
/*
+ get the health status of a db
+ */
+int ctdb_ctrl_getdbhealth(struct ctdb_context *ctdb,
+ struct timeval timeout,
+ uint32_t destnode,
+ uint32_t dbid, TALLOC_CTX *mem_ctx,
+ const char **reason)
+{
+ int ret;
+ int32_t res;
+ TDB_DATA data;
+
+ data.dptr = (uint8_t *)&dbid;
+ data.dsize = sizeof(dbid);
+
+ ret = ctdb_control(ctdb, destnode, 0,
+ CTDB_CONTROL_DB_GET_HEALTH, 0, data,
+ mem_ctx, &data, &res, &timeout, NULL);
+ if (ret != 0 || res != 0) {
+ return -1;
+ }
+
+ if (data.dsize == 0) {
+ (*reason) = NULL;
+ return 0;
+ }
+
+ (*reason) = talloc_strndup(mem_ctx, (const char *)data.dptr, data.dsize);
+ if ((*reason) == NULL) {
+ return -1;
+ }
+
+ talloc_free(data.dptr);
+
+ return 0;
+}
+
+/*
create a database
*/
int ctdb_ctrl_createdb(struct ctdb_context *ctdb, struct timeval timeout, uint32_t destnode,
@@ -1680,9 +1721,10 @@ struct ctdb_db_context *ctdb_attach(struct ctdb_context *ctdb, const char *name,
}
tdb_flags = persistent?TDB_DEFAULT:TDB_NOSYNC;
- if (!ctdb->do_setsched) {
+ if (ctdb->valgrinding) {
tdb_flags |= TDB_NOMMAP;
}
+ tdb_flags |= TDB_DISALLOW_NESTING;
ctdb_db->ltdb = tdb_wrap_open(ctdb, ctdb_db->db_path, 0, tdb_flags, O_RDWR, 0);
if (ctdb_db->ltdb == NULL) {
@@ -1845,15 +1887,12 @@ int ctdb_traverse(struct ctdb_db_context *ctdb_db, ctdb_traverse_func fn, void *
/*
called on each key during a catdb
*/
-static int dumpdb_fn(struct ctdb_context *ctdb, TDB_DATA key, TDB_DATA data, void *p)
+int ctdb_dumpdb_record(struct ctdb_context *ctdb, TDB_DATA key, TDB_DATA data, void *p)
{
int i;
FILE *f = (FILE *)p;
struct ctdb_ltdb_header *h = (struct ctdb_ltdb_header *)data.dptr;
- fprintf(f, "dmaster: %u\n", h->dmaster);
- fprintf(f, "rsn: %llu\n", (unsigned long long)h->rsn);
-
fprintf(f, "key(%u) = \"", (unsigned)key.dsize);
for (i=0;i<key.dsize;i++) {
if (ISASCII(key.dptr[i])) {
@@ -1864,6 +1903,9 @@ static int dumpdb_fn(struct ctdb_context *ctdb, TDB_DATA key, TDB_DATA data, voi
}
fprintf(f, "\"\n");
+ fprintf(f, "dmaster: %u\n", h->dmaster);
+ fprintf(f, "rsn: %llu\n", (unsigned long long)h->rsn);
+
fprintf(f, "data(%u) = \"", (unsigned)data.dsize);
for (i=sizeof(*h);i<data.dsize;i++) {
if (ISASCII(data.dptr[i])) {
@@ -1874,6 +1916,8 @@ static int dumpdb_fn(struct ctdb_context *ctdb, TDB_DATA key, TDB_DATA data, voi
}
fprintf(f, "\"\n");
+ fprintf(f, "\n");
+
return 0;
}
@@ -1882,7 +1926,7 @@ static int dumpdb_fn(struct ctdb_context *ctdb, TDB_DATA key, TDB_DATA data, voi
*/
int ctdb_dump_db(struct ctdb_db_context *ctdb_db, FILE *f)
{
- return ctdb_traverse(ctdb_db, dumpdb_fn, f);
+ return ctdb_traverse(ctdb_db, ctdb_dumpdb_record, f);
}
/*
@@ -1911,9 +1955,9 @@ int ctdb_ctrl_getpid(struct ctdb_context *ctdb, struct timeval timeout, uint32_t
async freeze send control
*/
struct ctdb_client_control_state *
-ctdb_ctrl_freeze_send(struct ctdb_context *ctdb, TALLOC_CTX *mem_ctx, struct timeval timeout, uint32_t destnode)
+ctdb_ctrl_freeze_send(struct ctdb_context *ctdb, TALLOC_CTX *mem_ctx, struct timeval timeout, uint32_t destnode, uint32_t priority)
{
- return ctdb_control_send(ctdb, destnode, 0,
+ return ctdb_control_send(ctdb, destnode, priority,
CTDB_CONTROL_FREEZE, 0, tdb_null,
mem_ctx, &timeout, NULL);
}
@@ -1936,30 +1980,43 @@ int ctdb_ctrl_freeze_recv(struct ctdb_context *ctdb, TALLOC_CTX *mem_ctx, struct
}
/*
- freeze a node
+ freeze databases of a certain priority
*/
-int ctdb_ctrl_freeze(struct ctdb_context *ctdb, struct timeval timeout, uint32_t destnode)
+int ctdb_ctrl_freeze_priority(struct ctdb_context *ctdb, struct timeval timeout, uint32_t destnode, uint32_t priority)
{
TALLOC_CTX *tmp_ctx = talloc_new(ctdb);
struct ctdb_client_control_state *state;
int ret;
- state = ctdb_ctrl_freeze_send(ctdb, tmp_ctx, timeout, destnode);
+ state = ctdb_ctrl_freeze_send(ctdb, tmp_ctx, timeout, destnode, priority);
ret = ctdb_ctrl_freeze_recv(ctdb, tmp_ctx, state);
talloc_free(tmp_ctx);
return ret;
}
+/* Freeze all databases */
+int ctdb_ctrl_freeze(struct ctdb_context *ctdb, struct timeval timeout, uint32_t destnode)
+{
+ int i;
+
+ for (i=1; i<=NUM_DB_PRIORITIES; i++) {
+ if (ctdb_ctrl_freeze_priority(ctdb, timeout, destnode, i) != 0) {
+ return -1;
+ }
+ }
+ return 0;
+}
+
/*
- thaw a node
+ thaw databases of a certain priority
*/
-int ctdb_ctrl_thaw(struct ctdb_context *ctdb, struct timeval timeout, uint32_t destnode)
+int ctdb_ctrl_thaw_priority(struct ctdb_context *ctdb, struct timeval timeout, uint32_t destnode, uint32_t priority)
{
int ret;
int32_t res;
- ret = ctdb_control(ctdb, destnode, 0,
+ ret = ctdb_control(ctdb, destnode, priority,
CTDB_CONTROL_THAW, 0, tdb_null,
NULL, NULL, &res, &timeout, NULL);
if (ret != 0 || res != 0) {
@@ -1970,6 +2027,12 @@ int ctdb_ctrl_thaw(struct ctdb_context *ctdb, struct timeval timeout, uint32_t d
return 0;
}
+/* thaw all databases */
+int ctdb_ctrl_thaw(struct ctdb_context *ctdb, struct timeval timeout, uint32_t destnode)
+{
+ return ctdb_ctrl_thaw_priority(ctdb, timeout, destnode, 0);
+}
+
/*
get pnn of a node, or -1
*/
@@ -2255,16 +2318,18 @@ int ctdb_ctrl_list_tunables(struct ctdb_context *ctdb,
}
-int ctdb_ctrl_get_public_ips(struct ctdb_context *ctdb,
- struct timeval timeout, uint32_t destnode,
- TALLOC_CTX *mem_ctx, struct ctdb_all_public_ips **ips)
+int ctdb_ctrl_get_public_ips_flags(struct ctdb_context *ctdb,
+ struct timeval timeout, uint32_t destnode,
+ TALLOC_CTX *mem_ctx,
+ uint32_t flags,
+ struct ctdb_all_public_ips **ips)
{
int ret;
TDB_DATA outdata;
int32_t res;
ret = ctdb_control(ctdb, destnode, 0,
- CTDB_CONTROL_GET_PUBLIC_IPS, 0, tdb_null,
+ CTDB_CONTROL_GET_PUBLIC_IPS, flags, tdb_null,
mem_ctx, &outdata, &res, &timeout, NULL);
if (ret == 0 && res == -1) {
DEBUG(DEBUG_ERR,(__location__ " ctdb_control to get public ips failed, falling back to ipv4-only version\n"));
@@ -2281,6 +2346,16 @@ int ctdb_ctrl_get_public_ips(struct ctdb_context *ctdb,
return 0;
}
+int ctdb_ctrl_get_public_ips(struct ctdb_context *ctdb,
+ struct timeval timeout, uint32_t destnode,
+ TALLOC_CTX *mem_ctx,
+ struct ctdb_all_public_ips **ips)
+{
+ return ctdb_ctrl_get_public_ips_flags(ctdb, timeout,
+ destnode, mem_ctx,
+ 0, ips);
+}
+
int ctdb_ctrl_get_public_ipsv4(struct ctdb_context *ctdb,
struct timeval timeout, uint32_t destnode,
TALLOC_CTX *mem_ctx, struct ctdb_all_public_ips **ips)
@@ -2314,6 +2389,162 @@ int ctdb_ctrl_get_public_ipsv4(struct ctdb_context *ctdb,
return 0;
}
+int ctdb_ctrl_get_public_ip_info(struct ctdb_context *ctdb,
+ struct timeval timeout, uint32_t destnode,
+ TALLOC_CTX *mem_ctx,
+ const ctdb_sock_addr *addr,
+ struct ctdb_control_public_ip_info **_info)
+{
+ int ret;
+ TDB_DATA indata;
+ TDB_DATA outdata;
+ int32_t res;
+ struct ctdb_control_public_ip_info *info;
+ uint32_t len;
+ uint32_t i;
+
+ indata.dptr = discard_const_p(uint8_t, addr);
+ indata.dsize = sizeof(*addr);
+
+ ret = ctdb_control(ctdb, destnode, 0,
+ CTDB_CONTROL_GET_PUBLIC_IP_INFO, 0, indata,
+ mem_ctx, &outdata, &res, &timeout, NULL);
+ if (ret != 0 || res != 0) {
+ DEBUG(DEBUG_ERR,(__location__ " ctdb_control for get public ip info "
+ "failed ret:%d res:%d\n",
+ ret, res));
+ return -1;
+ }
+
+ len = offsetof(struct ctdb_control_public_ip_info, ifaces);
+ if (len > outdata.dsize) {
+ DEBUG(DEBUG_ERR,(__location__ " ctdb_control for get public ip info "
+ "returned invalid data with size %u > %u\n",
+ (unsigned int)outdata.dsize,
+ (unsigned int)len));
+ dump_data(DEBUG_DEBUG, outdata.dptr, outdata.dsize);
+ return -1;
+ }
+
+ info = (struct ctdb_control_public_ip_info *)outdata.dptr;
+ len += info->num*sizeof(struct ctdb_control_iface_info);
+
+ if (len > outdata.dsize) {
+ DEBUG(DEBUG_ERR,(__location__ " ctdb_control for get public ip info "
+ "returned invalid data with size %u > %u\n",
+ (unsigned int)outdata.dsize,
+ (unsigned int)len));
+ dump_data(DEBUG_DEBUG, outdata.dptr, outdata.dsize);
+ return -1;
+ }
+
+ /* make sure we null terminate the returned strings */
+ for (i=0; i < info->num; i++) {
+ info->ifaces[i].name[CTDB_IFACE_SIZE] = '\0';
+ }
+
+ *_info = (struct ctdb_control_public_ip_info *)talloc_memdup(mem_ctx,
+ outdata.dptr,
+ outdata.dsize);
+ talloc_free(outdata.dptr);
+ if (*_info == NULL) {
+ DEBUG(DEBUG_ERR,(__location__ " ctdb_control for get public ip info "
+ "talloc_memdup size %u failed\n",
+ (unsigned int)outdata.dsize));
+ return -1;
+ }
+
+ return 0;
+}
+
+int ctdb_ctrl_get_ifaces(struct ctdb_context *ctdb,
+ struct timeval timeout, uint32_t destnode,
+ TALLOC_CTX *mem_ctx,
+ struct ctdb_control_get_ifaces **_ifaces)
+{
+ int ret;
+ TDB_DATA outdata;
+ int32_t res;
+ struct ctdb_control_get_ifaces *ifaces;
+ uint32_t len;
+ uint32_t i;
+
+ ret = ctdb_control(ctdb, destnode, 0,
+ CTDB_CONTROL_GET_IFACES, 0, tdb_null,
+ mem_ctx, &outdata, &res, &timeout, NULL);
+ if (ret != 0 || res != 0) {
+ DEBUG(DEBUG_ERR,(__location__ " ctdb_control for get ifaces "
+ "failed ret:%d res:%d\n",
+ ret, res));
+ return -1;
+ }
+
+ len = offsetof(struct ctdb_control_get_ifaces, ifaces);
+ if (len > outdata.dsize) {
+ DEBUG(DEBUG_ERR,(__location__ " ctdb_control for get ifaces "
+ "returned invalid data with size %u > %u\n",
+ (unsigned int)outdata.dsize,
+ (unsigned int)len));
+ dump_data(DEBUG_DEBUG, outdata.dptr, outdata.dsize);
+ return -1;
+ }
+
+ ifaces = (struct ctdb_control_get_ifaces *)outdata.dptr;
+ len += ifaces->num*sizeof(struct ctdb_control_iface_info);
+
+ if (len > outdata.dsize) {
+ DEBUG(DEBUG_ERR,(__location__ " ctdb_control for get ifaces "
+ "returned invalid data with size %u > %u\n",
+ (unsigned int)outdata.dsize,
+ (unsigned int)len));
+ dump_data(DEBUG_DEBUG, outdata.dptr, outdata.dsize);
+ return -1;
+ }
+
+ /* make sure we null terminate the returned strings */
+ for (i=0; i < ifaces->num; i++) {
+ ifaces->ifaces[i].name[CTDB_IFACE_SIZE] = '\0';
+ }
+
+ *_ifaces = (struct ctdb_control_get_ifaces *)talloc_memdup(mem_ctx,
+ outdata.dptr,
+ outdata.dsize);
+ talloc_free(outdata.dptr);
+ if (*_ifaces == NULL) {
+ DEBUG(DEBUG_ERR,(__location__ " ctdb_control for get ifaces "
+ "talloc_memdup size %u failed\n",
+ (unsigned int)outdata.dsize));
+ return -1;
+ }
+
+ return 0;
+}
+
+int ctdb_ctrl_set_iface_link(struct ctdb_context *ctdb,
+ struct timeval timeout, uint32_t destnode,
+ TALLOC_CTX *mem_ctx,
+ const struct ctdb_control_iface_info *info)
+{
+ int ret;
+ TDB_DATA indata;
+ int32_t res;
+
+ indata.dptr = discard_const_p(uint8_t, info);
+ indata.dsize = sizeof(*info);
+
+ ret = ctdb_control(ctdb, destnode, 0,
+ CTDB_CONTROL_SET_IFACE_LINK_STATE, 0, indata,
+ mem_ctx, NULL, &res, &timeout, NULL);
+ if (ret != 0 || res != 0) {
+ DEBUG(DEBUG_ERR,(__location__ " ctdb_control for set iface link "
+ "failed ret:%d res:%d\n",
+ ret, res));
+ return -1;
+ }
+
+ return 0;
+}
+
/*
set/clear the permanent disabled bit on a remote node
*/
@@ -2364,11 +2595,11 @@ int ctdb_ctrl_modflags(struct ctdb_context *ctdb, struct timeval timeout, uint32
nodes = list_of_connected_nodes(ctdb, nodemap, tmp_ctx, true);
if (ctdb_client_async_control(ctdb, CTDB_CONTROL_MODIFY_FLAGS,
- nodes,
+ nodes, 0,
timeout, false, data,
NULL, NULL,
NULL) != 0) {
- DEBUG(DEBUG_ERR, (__location__ " ctdb_control to disable node failed\n"));
+ DEBUG(DEBUG_ERR, (__location__ " Unable to update nodeflags on remote nodes\n"));
talloc_free(tmp_ctx);
return -1;
@@ -2802,7 +3033,7 @@ static void async_callback(struct ctdb_client_control_state *state)
*/
if (state->state != CTDB_CONTROL_DONE) {
if ( !data->dont_log_errors) {
- DEBUG(DEBUG_ERR,("Async operation failed with state %d\n opcode:%u", state->state, data->opcode));
+ DEBUG(DEBUG_ERR,("Async operation failed with state %d, opcode:%u\n", state->state, data->opcode));
}
data->fail_count++;
if (data->fail_callback) {
@@ -2869,6 +3100,7 @@ int ctdb_client_async_wait(struct ctdb_context *ctdb, struct client_async_data *
int ctdb_client_async_control(struct ctdb_context *ctdb,
--
CTDB repository
More information about the samba-cvs
mailing list