Alasdair Kergon
9c29f2f509
pre-release
2010-04-14 18:53:04 +00:00
Zdenek Kabelac
6ea4f7dfc0
Add error diagnostic for setenv failure.
2010-04-13 20:54:57 +00:00
Zdenek Kabelac
b409df00a9
Use C locales and use_mlockall for clvmd.
...
Use same steps for clvmd as for dmeventd - using C locales to avoid reading
large mmaps and use mlockall() for threaded version.
2010-04-13 19:54:16 +00:00
Christine Caulfield
e199542bd3
Fix a thread race in clvmd that could cause lockups on very busy systems
2010-04-06 15:29:30 +00:00
Petr Rockai
649c45078f
Add infrastructure for running the functional testsuite with locking_type set
...
to 3, using a local (singlenode) clvmd.
2010-03-18 09:19:30 +00:00
Christine Caulfield
9dc28ab802
Make clvmd -V return zero status rather than 1.
2010-02-02 08:54:29 +00:00
Christine Caulfield
c503c83c78
Make clvmd return 0 on success rather than 1.
2009-10-12 08:33:30 +00:00
Christine Caulfield
b45e346f7a
Add some code to clvmd to look in the corosync confdb to see what cluster
...
interface it should be using, it can still be overriden with -I.
If corosync isn't running or there is no information then the usual
checking will happen.
This code only builds if corosync is available.
2009-09-01 09:48:01 +00:00
Christine Caulfield
defed336ae
Fix compilation warning in clvmd.c
2009-08-13 10:39:41 +00:00
Milan Broz
8bc510ba12
Destroy toolcontext on exit in clvmd (fixes memory pool leaks).
2009-06-15 12:15:23 +00:00
Milan Broz
fa6dca9f28
Add infrastructure for queriying for remote locks.
...
Current code, when need to ensure that volume is not
active on remote node, it need to try to exclusive
activate volume.
Patch adds simple clvmd command which queries all nodes
for lock for given resource.
The lock type is returned in reply in text.
(But code currently uses CR and EX modes only.)
2009-05-19 10:38:58 +00:00
Milan Broz
293b6f7eaa
Clean a lot of extra extra whitespaces.
2009-04-22 10:38:16 +00:00
Christine Caulfield
c35df82da9
Block SIGINT & SIGTERM in clvmd subthreads so they don't delay shutdown.
...
Patch from Xinwei Hu, Thanks
2009-03-24 11:49:15 +00:00
Alasdair Kergon
ec6a6fbef2
Move tools/version.h to lib/misc/lvm-version.h.
...
Split LVM_VERSION into MAJOR, MINOR, PATCHLEVEL, RELEASE and RELEASE_DATE.
2009-02-22 22:11:58 +00:00
Christine Caulfield
fd5c5a9703
Allow clvmd to be built with all cluster managers & select one on cmdline.
2009-02-02 14:34:24 +00:00
Christine Caulfield
f2042acc7f
Add a corosync/DLM cluster service to clvmd.
...
It's not integrated in the configure system yet though.
2009-01-22 10:21:12 +00:00
Christine Caulfield
acc4138895
Fix a starup race in clvmd that could result in huge waits for the first command to be processed.
2008-11-21 13:48:00 +00:00
Alasdair Kergon
7f78616f3d
clvmd
2008-11-04 16:41:47 +00:00
Alasdair Kergon
56d8844068
more fixes
2008-11-04 15:07:45 +00:00
Alasdair Kergon
2c44337bd5
Right, a simple build (without options) is working again.
2008-11-03 22:14:30 +00:00
Christine Caulfield
b1f8aa24ca
Don't call openlog for every invocation of debuglog.
...
Patch from Masatake YAMATO
2008-06-13 07:44:14 +00:00
Alasdair Kergon
e350c2f648
Decode numbers in clvmd debugging output.
2008-06-05 14:24:28 +00:00
Christine Caulfield
5e91e174d3
Fix uninitialised mutex in clvmd if all daemons are not running at startup.
...
Thanks to Mark Hlawatschek for pointing this out.
2008-05-09 09:59:39 +00:00
Christine Caulfield
2aa5120e82
Fix a couple of uninitialised variables. The newfd one could cause
...
some obscure hangs.
2008-03-28 12:58:09 +00:00
Christine Caulfield
ed070f4105
Fix potential thread deadlock.
...
Also make local sockets non-blocking.
2008-03-17 09:37:47 +00:00
Christine Caulfield
66db5dd894
Include limits.h so it compiles with newer headers.
2008-03-06 08:41:05 +00:00
Jim Meyering
4349becadc
Remove redundant if-before-free tests in clvmd.c.
2008-02-15 14:12:32 +00:00
Patrick Caulfield
08152c90f2
Update usage message for clvmd.
...
Fix clvmd man page printing <br>, clarified debug options.
2008-02-05 09:38:04 +00:00
Patrick Caulfield
37034fb826
If the pre_command fails then go back and wait patiently for the next
...
pre function rather than retrying it until we get stuck!
2007-11-15 10:16:14 +00:00
Patrick Caulfield
be313b1300
Allow clvmd debug to be turned on in a running daemon using clvmd -d
...
You can do with cluster-wide too, by adding -C
2007-08-17 11:51:23 +00:00
Patrick Caulfield
8ef3cec1f8
Remove system LV code from clvmd. It's never been used and never should be
...
used! It's removal tidies a number of code paths inside clvmd.
2007-06-14 10:16:35 +00:00
Patrick Caulfield
59231b568a
Add *Experimental* OpenAIS support to clvmd.
2007-05-21 10:52:01 +00:00
Patrick Caulfield
e1cd6dbc07
Misc clvmd cleanups from Jim Meyering
2007-05-02 12:22:40 +00:00
Alasdair Kergon
1bf5aae913
Change some #include lines to search only standard system directories.
2007-04-27 17:46:16 +00:00
Patrick Caulfield
02c83d6edf
Add some extra error checking & robustness.
...
Thanks to the Crosswalk engineering team:
Leonard Maiorani
Henry Harris
Scott Cannata
2007-03-29 13:59:33 +00:00
Patrick Caulfield
47436a42df
Fix hang in clvmd if a pre-command failed. The pre/post thread was getting
...
out of sync in this instance and would not quit.
2006-12-11 13:48:41 +00:00
Alasdair Kergon
a951e97ae9
clvmd ia64 alignment fixes etc. (pjc)
2006-12-01 23:10:26 +00:00
Patrick Caulfield
a16f48e31a
Always compile debug logging into clvmd as it's too useful to
...
restrict to just developers.
-d will switch it on and run the daemon in the foreground
2006-11-30 13:19:42 +00:00
Patrick Caulfield
bd8be78c09
Add -T (startup timeout) switch to clvmd
2006-11-30 09:44:07 +00:00
Patrick Caulfield
efa483c599
Add clvmd call to return the cluster name.
2006-10-09 14:11:57 +00:00
Patrick Caulfield
2a7f7fc1c9
Vastly improve the errors returned to the user from clvmd.
...
It now captures the error messages that are generated and returns them
in the reply packet rather than just telling the user to check syslog.
2006-10-05 13:55:50 +00:00
Patrick Caulfield
13583874fc
Add -R switch to clvmd.
...
This option will instruct all the clvmd daemons in the cluster to reload their device cache
2006-10-04 08:22:16 +00:00
Patrick Caulfield
e7f55bb4c0
Get clvmd to use libcman rather than cman ioctl calls. This makes
...
it forward-compatible with the new userland CMAN in cluster head.
To build it you will need the libcman header & library installed.
2006-03-14 14:18:34 +00:00
Patrick Caulfield
4bb7474e8a
Don't send a signal to kill threads that are idling nicely as it upsets them.
...
This seems to cure bz#159727 on SMP systems.
Alasdair, can you include this patch in the lvm2-cluster package please ?
2005-08-09 10:39:57 +00:00
Patrick Caulfield
470b46cee1
Log an error if clvmd can't resolve a host name got from CCS
...
Fix potential spin loop in clvmd
2005-06-14 10:35:02 +00:00
Patrick Caulfield
5a3f4a794d
Don't defer closing of FDs in clvmd as it can cause trouble.
2005-06-13 10:16:21 +00:00
Patrick Caulfield
30bda7761e
Tidy clvmd's SIGHUP handler so it doesn't do all that work.
2005-04-19 10:36:42 +00:00
Patrick Caulfield
2b7e4013cd
Make clvmd work around some "limitations" in gulm's node state notifications.
...
Also make clvmd debuglog timestamps a little more helpful.
2005-04-13 13:50:07 +00:00
Patrick Caulfield
11270d07bf
Don't allow user operations to start until the lvm thread is fully up.
...
Hopefully finally nails bz#146056
2005-04-01 13:01:01 +00:00
Alasdair Kergon
779b7713cf
Tighten signal handlers.
2005-03-21 14:16:16 +00:00
Patrick Caulfield
a6c23d8b8b
Don't take out the lvm_thread_lock at startup - it only protects the jobs list.
...
DEBUGLOG() message now print threadid rather than PID which is more useful.
2005-03-09 14:08:11 +00:00
Patrick Caulfield
3329bbfdf3
make clvmd FDs close-on-exec, to avoid warnings when running lvm via popen.
...
clvmd-gulm unlocks VG & orphan locks at startup in case they are stale.
clvmd-gulm now unlocks VG & orphan locks if client dies.
2005-03-07 17:03:44 +00:00
Patrick Caulfield
c9808c329d
Cope with more than one message arriving at the TCP socket, also
...
fix some instances where the length in the message was wrong (cman
code didn't notice this because it is packet-based comms anyway)
2005-02-18 15:31:32 +00:00
Patrick Caulfield
ceda2b1426
Fix thread shutdown race which could cause clvmd to hang in pthread_join.
2005-02-08 09:05:58 +00:00
Patrick Caulfield
c9f9a8b2b3
Make clvmd announce it's startup and cluster connection in syslog.
2005-01-24 15:31:13 +00:00
Patrick Caulfield
6f4d25ec7f
Fix clvmd startup bug introduced in cman/gulm amalgamation. bz#145729
...
Improve reporting of node-specific locking errors so you'll get
somthing a little more helpfiul than "host is down" - it will now tell
you /which/ host it thinks is down.
2005-01-21 11:35:24 +00:00
Patrick Caulfield
5c7fc7c4f7
You can now build clvmd with cman & gulm support in the same binary.
...
./configure --with-clvmd
wil do this by default. Or you can choose which you want with
./configure --with-clvmd=gulm or
./configure --with-clvmd=cman
When clvmd with both included is run, it will automatically detect the cluster
manager in use.
2005-01-13 13:24:02 +00:00
Patrick Caulfield
b9fb9b206e
Fix off-by-one error in cluster_locking that could case read hangs.
2005-01-07 14:22:49 +00:00
Patrick Caulfield
0d19475588
Improve clvmd failure message if it's already running.
...
Allow user to kill clvmd during initialisation.
2005-01-05 14:41:54 +00:00
Alasdair Kergon
a266258f4c
Configure/makefile tidy.
2004-11-26 18:07:17 +00:00
Patrick Caulfield
bb7b7c6d5f
Tidy the socket callbacks so that all the work is done outside the
...
main loop.
2004-11-16 10:55:01 +00:00
Patrick Caulfield
badd6fb7ba
Report detailed errors in cluster initialisation to syslog, and point the user
...
at syslog if clvmd fails to intialise.
2004-11-11 14:51:23 +00:00
Patrick Caulfield
3d4159b6bf
Make clvmd -V display the lvm version number too rather than just
...
the protocol version (which is not that useful and doesn't change very often).
2004-10-06 12:36:47 +00:00
Patrick Caulfield
bfd4b01407
Revert the fork back to where it was as it seems to confuse pthreads.
...
Instead, the parent now waits for the daemon to signal that it has
completed successfully (or not) so it can return status to the user.
2004-10-06 10:12:34 +00:00
Patrick Caulfield
896318f475
Fork a little later in the startup sequence so that we can return
...
an error code if the cluster infrastructure isn't there.
2004-09-30 14:16:28 +00:00
Patrick Caulfield
8ef0b7b9ef
Keep client locks (VG locks usually) in their own hash table so
...
we can actually have more then one of them per client.
2004-09-24 09:39:57 +00:00
Patrick Caulfield
985f52fe34
Make the thread handling a little less cavalier. In particular, calling
...
pthread_exit in a signal handler was a /really/ bad idea.
2004-09-23 12:51:56 +00:00
Alasdair Kergon
d3c8211fef
Add cluster support.
2004-06-24 08:02:38 +00:00