Andrew Tridgell [Wed, 14 May 2008 04:37:11 +0000 (14:37 +1000)]
Merge commit 'ronnie-ctdb/master' into tridge
Ronnie Sahlberg [Mon, 12 May 2008 06:44:33 +0000 (16:44 +1000)]
When we run the init script to start the ctdb service
Use tdbdump to verify that all persistent database files are good
before we start the daemon.
Ronnie Sahlberg [Mon, 12 May 2008 03:37:31 +0000 (13:37 +1000)]
Try to use tdb transactions when updating a record and record header inside the ctdb daemon.
If a transaction could be started, do safe transaction store when updating the record inside the daemon.
If the transaction could not be started (maybe another samba process has a lock on the database?) then just do a normal store instead (instead of blocking the ctdb daemon).
The client can "signal" ctdb that updates to this database should, if possible, be done using safe transactions by specifying the TDB_NOSYNC flag when attaching to the database.
The TDB flags are passed to ctdb in the "srvid" field of the control header when attaching using the CTDB_CONTROL_DB_ATTACH_PERSISTENT.
Currently, samba3.2 does not yet tell ctdbd to handle any persistent databases using safe transactions.
If samba3.2 wants a particular persistent database to be handled using
safe transactions inside the ctdbd daemon, it should pass
TDB_NOSYNC as the flags to the call to attach to a persistent database
in ctdbd_db_attach() it currently specifies 0 as the srvid
Ronnie Sahlberg [Sun, 11 May 2008 21:24:02 +0000 (07:24 +1000)]
Update to new release
Ronnie Sahlberg [Sun, 11 May 2008 04:30:43 +0000 (14:30 +1000)]
when pulling the nfs directories to check during 60.nfs monitor
grep for lines starting with a '/' character since exportfs will sometimes
split a single export line into two lines of output like this :
[root@fscc-hs21-13 ~]# exportfs
/NFS4exports/tmp
<world>
/NFS4exports <world>
Ronnie Sahlberg [Sun, 11 May 2008 04:28:33 +0000 (14:28 +1000)]
ctdb->methods becomes NULL when we shutdown the transport.
If we shutdown the transport and CTDB later decides to send a command out
for queueing, the call to ctdb->methods->allocate_pkt() will SEGV.
This could trigger for example when we are in the process of shuttind down CTDBD and have already shutdown the transport but we are still waiting for the
"shutdown" eventscripts to finish.
If the event scripts now take much much longer to execute for some reason, this
race condition becomes much more probable.
Decorate all dereferencing of ctdb->methods-> with a check that ctdb->menthods is non-NULL
Andrew Tridgell [Fri, 9 May 2008 23:35:13 +0000 (09:35 +1000)]
need to specicy tree to git archive
Andrew Tridgell [Fri, 9 May 2008 23:24:51 +0000 (09:24 +1000)]
use git archive to create tarball
Ronnie Sahlberg [Fri, 9 May 2008 03:47:38 +0000 (13:47 +1000)]
update to new version
Ronnie Sahlberg [Fri, 9 May 2008 03:41:31 +0000 (13:41 +1000)]
fix a bug where the public ip addresses of the cluster would not be redistributed across the cluster after a recovery was performed.
Remove a bogus check inside the recovery daemon that ONLY redistributed public addresses IFF the local node had/served public addresses.
This was a valid optimization long ago when we enforced that all nodes must use the same public addresses file but is invalid today where we can have different public addresses configs on all nodes and even have some nodes that do NOT use public addresses at all.
Andrew Tridgell [Thu, 8 May 2008 09:59:24 +0000 (19:59 +1000)]
fixed realloc bug
Should always use type safe talloc functions when possible. In this case we were allocating bytes instead of uint32_t
Ronnie Sahlberg [Thu, 8 May 2008 09:52:27 +0000 (19:52 +1000)]
fix merge corruption
Ronnie Sahlberg [Thu, 8 May 2008 07:49:48 +0000 (17:49 +1000)]
Merge git://git.samba.org/tridge/ctdb
Andrew Tridgell [Thu, 8 May 2008 07:15:41 +0000 (17:15 +1000)]
Merge commit 'sofs1/tridge'
root [Thu, 8 May 2008 07:14:00 +0000 (17:14 +1000)]
listen_fd is auto-closed
Closing it here just causes an epoll error, and may close a fd in use by
another structure to be closed. This caused a infinite recovery loop
Andrew Tridgell [Thu, 8 May 2008 06:58:34 +0000 (16:58 +1000)]
Merge branch 'master' of git://git.samba.org/sahlberg/ctdb
root [Thu, 8 May 2008 06:46:23 +0000 (16:46 +1000)]
Merge commit 'ronnie-ctdb/master' into tridge
Ronnie Sahlberg [Wed, 7 May 2008 20:52:53 +0000 (06:52 +1000)]
From Mathias Dietz
Make the 60.nfs eventscript more forgiving when using non-us/english
characters in sharenames
Ronnie Sahlberg [Wed, 7 May 2008 01:31:37 +0000 (11:31 +1000)]
update to version .35
Ronnie Sahlberg [Tue, 6 May 2008 05:42:59 +0000 (15:42 +1000)]
Expand the client async framework so that it can take a callback function.
This allows us to use the async framework also for controls that return
outdata.
Add a "capabilities" field to the ctdb_node structure. This field is
only initialized and kept valid inside the recovery daemon context and not
inside the main ctdb daemon.
change the GET_CAPABILITIES control to return the capabilities in outdata instead of in the res return variable.
When performing a recovery inside the recovery daemon, read the capabilities from all connected nodes and update the ctdb->nodes list of nodes.
when building the new vnnmap after the database rebuild in recovery, do not include any nodes which lack the LMASTER capability in the new vnnmap.
Unless there are no available connected node that sports the LMASTER capability in which case we let the local node (recmaster) take on the lmaster role temporarily (i.e. become a member of the vnnmap list)
Ronnie Sahlberg [Tue, 6 May 2008 03:56:56 +0000 (13:56 +1000)]
make sure we lose all elections for recmaster role if we do not have the recmaster capability.
(unless there are no other node at all available with this capability)
Ronnie Sahlberg [Tue, 6 May 2008 03:27:17 +0000 (13:27 +1000)]
close and reopen the reclock pnn file at regular intervals.
handle failure to get/hold the reclock pnn file better and just
treat it as a transient backend filesystem error and try again later
instead of shutting down the recovery daemon
when we have lost the pnn file and if we are recmaster
release the recmaster role so that someone else can become recmaster isntead
Ronnie Sahlberg [Tue, 6 May 2008 01:19:17 +0000 (11:19 +1000)]
Monitor that the recovery daemon is still running from the main ctdb daemon
and if it has terminated, then we shut down the main daemon as well
Ronnie Sahlberg [Tue, 6 May 2008 00:41:22 +0000 (10:41 +1000)]
Add ability to disable recmaster and lmaster roles through sysconfig file and
command line arguments
Ronnie Sahlberg [Tue, 6 May 2008 00:02:27 +0000 (10:02 +1000)]
Add a capabilities field to the ctdb structure
Define two capabilities :
can be recmaster
can be lmaster
Default both capabilities to YES
Update the ctdb tool to read capabilities off a node
Ronnie Sahlberg [Mon, 5 May 2008 21:57:43 +0000 (07:57 +1000)]
Use DEBUG_ERR and not DEBUG_WARNING when we get a connection
attempt from a non-ctdb host
Ronnie Sahlberg [Thu, 24 Apr 2008 12:06:04 +0000 (22:06 +1000)]
update version to .34
Ronnie Sahlberg [Thu, 24 Apr 2008 11:51:08 +0000 (21:51 +1000)]
when deleting a public ip from a node that is currently hosting this ip, try to move the ip address to a different node first
Ronnie Sahlberg [Wed, 23 Apr 2008 11:49:52 +0000 (21:49 +1000)]
make 'ctdb catdb' produce output that resembles the output of tdbdump
Ronnie Sahlberg [Wed, 23 Apr 2008 11:05:36 +0000 (21:05 +1000)]
when adding a new public ip address to a running node using the 'ctdb addip' command,
If no other node is hosting this public ip at the moment, then assign it immediately to the current node.
Ronnie Sahlberg [Thu, 10 Apr 2008 04:45:45 +0000 (14:45 +1000)]
Revert "- accept an optional set of tdb_flags from clients on open a database,"
This reverts commit
49330f97c78ca0669615297ac3d8498651831214.
Ronnie Sahlberg [Thu, 10 Apr 2008 04:57:41 +0000 (14:57 +1000)]
Revert "Revert "- accept an optional set of tdb_flags from clients on open a database,""
This reverts commit
171d1d71ef9f2373620bd7da3adaecb405338603.
Ronnie Sahlberg [Thu, 10 Apr 2008 05:59:51 +0000 (15:59 +1000)]
Revert "Revert "Revert "- accept an optional set of tdb_flags from clients on open a database,"""
remove the transaction stuff and push so that the git tree will work
This reverts commit
539bbdd9b0d0346b42e66ef2fcfb16f39bbe098b.
Ronnie Sahlberg [Tue, 15 Apr 2008 08:24:48 +0000 (18:24 +1000)]
make ctdb eventrscipt accept the -n all argument to run the event script on all connected nodes
Ronnie Sahlberg [Mon, 21 Apr 2008 14:56:27 +0000 (00:56 +1000)]
when a node disgrees with us re who is recmaster
make it mark that node as a lcuprit so it eventually gets banned
Ronnie Sahlberg [Tue, 22 Apr 2008 14:55:57 +0000 (00:55 +1000)]
add support for -n all in "ctdb -n all ip"
this collects all public addresses from all nodes and presents the public ips
for the entire cluster
Ronnie Sahlberg [Tue, 22 Apr 2008 14:55:57 +0000 (00:55 +1000)]
add support for -n all in "ctdb -n all ip"
this collects all public addresses from all nodes and presents the public ips
for the entire cluster
Andrew Tridgell [Tue, 22 Apr 2008 14:48:25 +0000 (16:48 +0200)]
fixed permissions on configure.rpm
Ronnie Sahlberg [Mon, 21 Apr 2008 14:56:27 +0000 (00:56 +1000)]
when a node disgrees with us re who is recmaster
make it mark that node as a lcuprit so it eventually gets banned
Ronnie Sahlberg [Tue, 15 Apr 2008 08:24:48 +0000 (18:24 +1000)]
make ctdb eventrscipt accept the -n all argument to run the event script on all connected nodes
Ronnie Sahlberg [Thu, 10 Apr 2008 05:59:51 +0000 (15:59 +1000)]
Revert "Revert "Revert "- accept an optional set of tdb_flags from clients on open a database,"""
remove the transaction stuff and push so that the git tree will work
This reverts commit
539bbdd9b0d0346b42e66ef2fcfb16f39bbe098b.
Andrew Tridgell [Thu, 10 Apr 2008 05:25:48 +0000 (15:25 +1000)]
- accept an optional set of tdb_flags from clients on open a database,
thus allowing the client to pass through the TDB_NOSYNC flag
- ensure that tdb_store() operations on persistent databases that don't
have TDB_NOSYNC set happen inside a transaction wrapper, thus making
them crash safe
Ronnie Sahlberg [Thu, 10 Apr 2008 04:57:41 +0000 (14:57 +1000)]
Revert "Revert "- accept an optional set of tdb_flags from clients on open a database,""
This reverts commit
171d1d71ef9f2373620bd7da3adaecb405338603.
Ronnie Sahlberg [Thu, 10 Apr 2008 04:45:45 +0000 (14:45 +1000)]
Revert "- accept an optional set of tdb_flags from clients on open a database,"
This reverts commit
49330f97c78ca0669615297ac3d8498651831214.
Ronnie Sahlberg [Wed, 9 Apr 2008 23:56:49 +0000 (09:56 +1000)]
fix compiler warning during a fatal error failing to lock down the socket
Ronnie Sahlberg [Wed, 9 Apr 2008 21:01:22 +0000 (07:01 +1000)]
shell scripts need extra spaces sometime
Ronnie Sahlberg [Wed, 9 Apr 2008 20:55:31 +0000 (06:55 +1000)]
update to version .33
Ronnie Sahlberg [Wed, 9 Apr 2008 20:51:53 +0000 (06:51 +1000)]
From Chris Cowan
secure the domain socket and set permissions properly
Ronnie Sahlberg [Wed, 9 Apr 2008 20:50:12 +0000 (06:50 +1000)]
add possibility to provide site local modifications to the event system
through a /etc/ctdb/rc.local script that is sources by /etc/ctdb/functions
Ronnie Sahlberg [Thu, 3 Apr 2008 06:07:00 +0000 (17:07 +1100)]
add a ctdb command to print the ctdb version
Ronnie Sahlberg [Thu, 3 Apr 2008 05:35:23 +0000 (16:35 +1100)]
we allocated one byte too little in the blob we need to send as the control to the server.
Ronnie Sahlberg [Wed, 2 Apr 2008 23:58:51 +0000 (10:58 +1100)]
From Chris Cowan
Add support in AIX to track the PID of a client that connects to the unix domain socket
Ronnie Sahlberg [Wed, 2 Apr 2008 01:09:27 +0000 (12:09 +1100)]
bump version to .32
Ronnie Sahlberg [Wed, 2 Apr 2008 00:13:30 +0000 (11:13 +1100)]
add a mechanism to force a node to run the eventscripts with arbitrary arguments
ctdb eventscript "command argument argument ..."
Ronnie Sahlberg [Tue, 1 Apr 2008 06:17:21 +0000 (17:17 +1100)]
decorate the memdump output with a nice field for ctdb_client structures to show the pid of the client that attached
Ronnie Sahlberg [Tue, 1 Apr 2008 04:34:54 +0000 (15:34 +1100)]
add improvements to tracking memory usage in ctdbd adn the recovery daemon
and a ctdb command to pull the talloc memory map from a recovery daemon
ctdb rddumpmemory
Ronnie Sahlberg [Tue, 1 Apr 2008 00:31:42 +0000 (11:31 +1100)]
from tridge: decorate dumpmemory output so that packets that are queued show up with a little more information to make memory leak debugging easier
Ronnie Sahlberg [Mon, 31 Mar 2008 01:58:20 +0000 (12:58 +1100)]
return 0 if iscsi is disabled
Ronnie Sahlberg [Mon, 31 Mar 2008 01:49:39 +0000 (12:49 +1100)]
make sure the iface string is nullterminated in the addip control packet
Ronnie Sahlberg [Mon, 31 Mar 2008 00:00:08 +0000 (11:00 +1100)]
update the iscis support under RHEL5 to allow one iscsi target to be defined for each public address in the cluster.
update the documentation for iscsi
Ronnie Sahlberg [Wed, 26 Mar 2008 22:23:27 +0000 (09:23 +1100)]
Add two new controls to add/delete public ip address from a node at runtime.
The controls only modify the runtime setting of which public addresses a node
can server and does not modify /etc/ctdb/public_addresses.
To make the change permanent you also need to edit /etc/ctdb/public_addresses
manually.
After ip addresses have been added/deleted you need to invoke a recovery
for the ip addresses to be redistributed.
Ronnie Sahlberg [Tue, 25 Mar 2008 00:11:13 +0000 (11:11 +1100)]
fix a memory leak
allocate the memory to the 'call' context and not off the 'ctdb' context
Ronnie Sahlberg [Mon, 24 Mar 2008 22:43:47 +0000 (09:43 +1100)]
update to version 1.0.31
Ronnie Sahlberg [Mon, 24 Mar 2008 21:27:38 +0000 (08:27 +1100)]
From M Dietz,
Add back the controls to enable/disable monitoring we used to have for debugging but removed a while ago
Ronnie Sahlberg [Wed, 19 Mar 2008 02:54:17 +0000 (13:54 +1100)]
in ctdb_call_local() we can not talloc_steal() the returned data and hang it off ctdb.
This can cause a memory leak if the call is terminated before we have managed to respond to the client.
(and the call is talloc_free()d but the data is still hanging off ctdb)
instead we must talloc_steal() the data and hang it off the call structure to avoid the memory leak.
In order to do this we must also change the call structure that is passed into ctdb_call_local() to be allocated through talloc().
This structure was previously either a static variable, or an element of a larger talloc()ed structure (ctdb_call_state or ctdb_client_call_state) so
we must change all creations of a ctdb_call into explicitely creating it through talloc()
Ronnie Sahlberg [Wed, 19 Mar 2008 01:08:29 +0000 (12:08 +1100)]
dont steal reply_data.dptr to ctdb if there is no data, since then we would leak
memory
Ronnie Sahlberg [Wed, 12 Mar 2008 20:54:55 +0000 (07:54 +1100)]
change the log level for the message when someone connects to a non-public ip
Ronnie Sahlberg [Wed, 12 Mar 2008 20:53:29 +0000 (07:53 +1100)]
Redo the vacukming process to mkake it scalable.
Vacumming used to delete one record at a time on all nodes, that was
m*n behaviour and would require a huge storm of ctdb->ctdb controls and just wouldnt scale at all.
The new vacuming process collects all records to be deleted locally and then only sends 1 control to the other nodes. This control contains a list of all records to be deleted.
Ronnie Sahlberg [Tue, 4 Mar 2008 02:40:29 +0000 (13:40 +1100)]
update to version 1.0.30
Ronnie Sahlberg [Tue, 4 Mar 2008 02:29:48 +0000 (13:29 +1100)]
Update ctdb uptime to provide machinereadable output
Ronnie Sahlberg [Tue, 4 Mar 2008 02:23:06 +0000 (13:23 +1100)]
provide machinereadble -Y output for 'ctdb getdebug'
Ronnie Sahlberg [Tue, 4 Mar 2008 02:18:27 +0000 (13:18 +1100)]
make 'ctdb ip' provide machinereadble output using '-Y'
Ronnie Sahlberg [Tue, 4 Mar 2008 02:06:46 +0000 (13:06 +1100)]
document some public tunables
Ronnie Sahlberg [Tue, 4 Mar 2008 01:37:24 +0000 (12:37 +1100)]
document some new ctdb command
Ronnie Sahlberg [Tue, 4 Mar 2008 01:20:23 +0000 (12:20 +1100)]
A new command to 'ctdb'
ctdb moveip <IPADDRESS> <NODE>
which can be used to manually fail an ip address over to a specific node.
This can only be used if DeteministicIPs are disabled and also only if NoIPFailback is enabled.
Ronnie Sahlberg [Mon, 3 Mar 2008 01:52:16 +0000 (12:52 +1100)]
add a new tunable 'NoIPFailback'
when this tunable is set, ip addresses will only be failed over when a node
fails. And only those ip addresses held by the failed node will be reallocated
in the cluster.
When a node becomes active again, this will not lead to any failback of ip addresses.
This can reduce the number of "ip address movements" in the cluster since we dont automatically fail an ip address back, but can also lead to an unbalanced cluster since we no longer attempt to spread the ip addresses out evenly across the active nodes.
This tuneable can NOT be active at the same time as DeterministicIPs are used.
Ronnie Sahlberg [Sun, 2 Mar 2008 23:53:23 +0000 (10:53 +1100)]
when we reallocate the ip addresses for nodes, we must make sure that
a node that has been allocated to server an ip actually CAN serve that ip
(if we use differing public_addresses files on each node)
Ronnie Sahlberg [Sun, 2 Mar 2008 23:24:17 +0000 (10:24 +1100)]
add a num_connected field to the rec structure that holds the number
of connected nodes
num_active only contains the number of active nodes and would thus not count
banned nodes
Ronnie Sahlberg [Sun, 2 Mar 2008 22:19:30 +0000 (09:19 +1100)]
add a new tunable : reclockpingperiod
once every such interval :
* the recovery master on each node will uppdate the "connected" count in the
reclock count file (ctdb getreclock)
* if the node thinks it is a recovery master but it detects another node
that is DISCONNECTED but which still holds a lock to the reclock count file
this may mean that we have a split cluster.
if that other node that is DISCONNECTED but still holds the lock on hte reclock
pnn count file, is MORE connected than the local node,
yield the recmaster role and let the other half of the lcuster take over
this add a second, last chance mechanism to detect split clusters.
IF the cluster is split but GPFS is not yet split, this mechanism makes
the largest half of the cluster become the active half.
Ronnie Sahlberg [Sun, 2 Mar 2008 20:53:46 +0000 (07:53 +1100)]
change recmaster from being a local variable in monitor_cluster() to be a member of the ctdb_recoverd structure
Ronnie Sahlberg [Fri, 29 Feb 2008 02:14:47 +0000 (13:14 +1100)]
update the reclock pnn count for how many nodes are connected to the current node once every 60 seconds
Ronnie Sahlberg [Fri, 29 Feb 2008 01:55:20 +0000 (12:55 +1100)]
store the num_active variable (number of connected/active nodes) inside the rec
structure and avoid passing this as an extra parameter to do_recovery()
Ronnie Sahlberg [Fri, 29 Feb 2008 01:37:42 +0000 (12:37 +1100)]
add a new file <reclock>.pnn where each recovery daemon can lock that byte at offset==pnn to offer an alternative way to detect which nodes are active instead of relying on CONNECTED being accurate.
Ronnie Sahlberg [Thu, 28 Feb 2008 23:03:39 +0000 (10:03 +1100)]
add a control to get the name of the reclock file from the daemon
Ronnie Sahlberg [Thu, 21 Feb 2008 23:33:09 +0000 (10:33 +1100)]
add a new tunable DisableWhenUnhealthy which when set will cause a node to automatically become DISABLED anytime monitoring fails and the node becomes UNHEALTHY.
Use with caution.
Ronnie Sahlberg [Thu, 21 Feb 2008 23:01:15 +0000 (10:01 +1100)]
document the --start-as-disabled argument
Ronnie Sahlberg [Thu, 21 Feb 2008 22:52:57 +0000 (09:52 +1100)]
Add debug output to indicate why a node starts up in DISABLED state
Ronnie Sahlberg [Thu, 21 Feb 2008 22:42:52 +0000 (09:42 +1100)]
Add a new parameter to /etc/sysconfig/ctdb
CTDB_START_AS_DISABLED="yes"
and command line argument
--start-as-disabled
When set, this makes the ctdb node to always start in DISABLED mode and will thus not host any public ip addresses.
The administrator must manually "ctdb enable" the node after it has started when the administrator wants the node to start hosting public ip addresses.
Using this option it is possible to start ctdb on a node without causing any reallocation of ip addresses when it is starting. The node will still merge with the cluster and there will still be a recovery phase but the ip address allocations will not change in the cluster.
Ronnie Sahlberg [Thu, 21 Feb 2008 02:29:28 +0000 (13:29 +1100)]
monitor the amount of free memory and if this treshold is crossed, monitoring will log an OOM memory in the ctdb log and shut down ctdb on the node.
by default ctdb does not monitor for OOM.
to enable this you need to uncomment the CTDB_MONITOR_FREE_MEMORY line in /etc/sysconfig/ctdb and specify the amount in MByte free that will trigger OOM and cause ctdb to shutdown the node
Ronnie Sahlberg [Wed, 20 Feb 2008 21:37:29 +0000 (08:37 +1100)]
update version to 1.0.29
Ronnie Sahlberg [Wed, 20 Feb 2008 21:25:01 +0000 (08:25 +1100)]
make the ctdb reloadnodes reload the nodes file on all nodes and restart the transport
Ronnie Sahlberg [Tue, 19 Feb 2008 03:44:48 +0000 (14:44 +1100)]
to make it easier/less disruptive to add nodes to a running cluster
add a new control that causes the node to drop the current nodes list
and reread it from the nodes file.
During this operation, the node will also drop the tcp layer and restart it.
When we drop the tcp layer, by talloc_free()ing the ctcp structure
add a destructor to ctcp so that we also can clean up and remove the references in the ctdb structure to the transport layer
add two new commands for the ctdb tool.
one to list all nodes in the nodesfile and the second a command to trigger a node to drop the transport and reinitialize it with the nde nodes file
Ronnie Sahlberg [Tue, 19 Feb 2008 03:35:15 +0000 (14:35 +1100)]
the ctdb structure must make its own copy of the ->address field and not just
copy the content of the nodes structure.
this ctdb_address structure contains a pointer which is talloced hanging off the structure itself.
If we copy the content of this structure as we did in assigning to ctdb->address from nodes[i]
then if we talloc_free() the node structure we end up with a wild pointer in ctdb->address
Ronnie Sahlberg [Mon, 18 Feb 2008 08:38:04 +0000 (19:38 +1100)]
read the current debuglevel in each loop in the recovery daemon so that we
pick up when they change in the parent daemon
Ronnie Sahlberg [Tue, 12 Feb 2008 21:20:20 +0000 (08:20 +1100)]
from Mathieu PARENT <math.parent@gmail.com>
Simulate "nice service" on systems that do not have "service"
Ronnie Sahlberg [Tue, 12 Feb 2008 21:17:53 +0000 (08:17 +1100)]
From Mathieu PARENT <math.parent@gmail.com>
Set the correct permissions for events.d/README
Ronnie Sahlberg [Sun, 10 Feb 2008 22:52:09 +0000 (09:52 +1100)]
add helpers to stop/start nfs lockmanager on different platforms
Ronnie Sahlberg [Sun, 10 Feb 2008 22:35:37 +0000 (09:35 +1100)]
create a startstop_nfs function that can start/stop the nfs service of different platforms
Ronnie Sahlberg [Fri, 8 Feb 2008 04:12:06 +0000 (15:12 +1100)]
update to revision 28
Andrew Tridgell [Fri, 8 Feb 2008 03:10:54 +0000 (14:10 +1100)]
carefully step around the recovery area when doing a tdb_wipe_all. This prevents
problems with wipe_all on databases that may need crash recovery