Alasdair Kergon
be2c03fa96
Add usrlibdir & usrsbindir to configure.
2008-10-07 19:11:59 +00:00
Milan Broz
3d07c2605f
Fix mirror DSO to call vgreduce with proper parameters.
2008-09-25 15:52:29 +00:00
Alasdair Kergon
04d52b450b
fix last release
2008-09-19 15:44:03 +00:00
Alasdair Kergon
95d43e17b3
Improve the way VGs with PVs missing are handled so manual intervention
...
is required in fewer circumstances. (mornfall)
2008-09-19 06:42:00 +00:00
Petr Rockai
6c75243a06
Add #include <signal.h> to dmeventd.c, fixes compilation on NetBSD.
2008-07-09 13:26:07 +00:00
Petr Rockai
efde37880b
Fix dmeventd regression where mirror and snapshot monitoring libraries
...
failed to link against liblvm2cmd.
Dmeventd DSOs *require* lvm2cmd to be linked in.
For the future:
1) AC_SUBST does not create Makefile variables, only @foo@-style substitutions
2) When using `test', whitespace around `=' is essential:
test a=b is true, as is test a=a
2008-07-09 09:59:42 +00:00
Zdeněk Kabeláč
7487a7c988
Added generation of the versioned libdevmapper-event.so for LVM's test
2008-06-27 15:36:51 +00:00
Jim Meyering
062886df64
avoid link failure when configuring without --enable-cmdlib
...
* configure.in (LVM2CMD_LIB): Define if --enable-cmdlib.
* dmeventd/mirror/Makefile.in (CLDFLAGS): Use $(LVM2CMD_LIB) rather
than hard-coding -llvm2cmd.
* dmeventd/snapshot/Makefile.in (CLDFLAGS): Likewise.
2008-06-23 09:25:08 +00:00
Christine Caulfield
ab5f66c13a
Make clvmd return immediately if other nodes are down in an openais cluster.
2008-06-20 12:46:21 +00:00
Christine Caulfield
e65ffb8e68
Make clvmd return immediately if other nodes are down in a gulm cluster.
...
bz#447799
2008-06-20 10:58:28 +00:00
Christine Caulfield
f5adaf813c
Don't call openlog for every invocation of debuglog.
...
Patch from Masatake YAMATO
2008-06-13 07:44:14 +00:00
Alasdair Kergon
ef5d8ce367
cleaner LCK_LV decoding
2008-06-06 16:37:51 +00:00
Alasdair Kergon
095a861018
Decode numbers in clvmd debugging output.
2008-06-05 14:24:28 +00:00
Alasdair Kergon
0646d0dd91
revert accidental checkin
2008-05-19 20:06:34 +00:00
Alasdair Kergon
83e54b45a5
Refactor some vginfo manipulation code.
2008-05-19 19:49:56 +00:00
Alasdair Kergon
5cd87d3d27
more cleanup
2008-05-09 19:26:58 +00:00
Alasdair Kergon
689d8a80b5
More P_ and V_ lock cleanup.
2008-05-09 18:45:15 +00:00
Alasdair Kergon
b1d82a92e7
Add missing mutex around clvmd lvmcache_drop_metadata library call.
2008-05-09 15:13:20 +00:00
Christine Caulfield
4d65627a50
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
ce3a68d817
Make clvmd-cman use a hash rather than an array for node updown info.
...
This will allow it to cope with very large nodeids such as those
generated by clusters using cman_tool join -X
2008-05-09 07:20:04 +00:00
Christine Caulfield
9154a74400
. remove_lock_wait.diff remove the definition of "struct lock_wait",
...
which is not used since the switch away from async version saLck
. num_nodes should equal to member_list_entries, i.e.
joined_list_entires is 0 when a node leaves the group.
Thanks to Xinwei Hu for the patch.
2008-04-29 08:55:20 +00:00
Christine Caulfield
1399b84b32
The attached patch is a try to make clvmd work correctly on openais stack.
...
It does 2 things.
1. The cpg_deliver_callback make a compare between target_nodeid and our_nodeid.
It turns out openais set target_nodeid to 0 sometimes. for broadcasting ? I change the behavior so that lvm will process_remote also on target_nodeid == 0
2. The joined_list passed to cpg_confchg_callback doesn't include the already exist nodes in the group, which leads to an incomplete node_hash. I simply add all other nodes in member_list to node_hash also.
Thanks to Xinwei Hu for this patch.
2008-04-28 08:57:11 +00:00
Christine Caulfield
7b8f053be2
Simplify locking code by using saLckResourceLock rather than
...
saLckResourceLockAsync.
Thanks to Xinwei Hu for the patch.
2008-04-23 09:53:49 +00:00
Milan Broz
867e9c51d4
Drop cached VG metadata before and after committing changes to it.
2008-04-15 14:46:19 +00:00
Alasdair Kergon
0170f7b42a
rename P_global to P_#global
2008-04-15 11:36:46 +00:00
Christine Caulfield
49a552ccdc
Add config file overrides to clvmd when it reads the LVs list so that
...
config items 'command_names' and 'prefix' don't prevent it working.
2008-04-08 13:03:13 +00:00
Christine Caulfield
e7bdd69af0
If lvm.conf was touched, clvmd attempted to update the toolcontext
...
but only did half of the job. It now shares the do_refresh_cache()
function that vgscan invokes.
2008-04-04 08:53:47 +00:00
Christine Caulfield
57d9a6c836
Fix another allocation bug with clvmd and large node IDs.`
2008-04-01 15:01:30 +00:00
Christine Caulfield
17dd81336d
Fix a couple of uninitialised variables. The newfd one could cause
...
some obscure hangs.
2008-03-28 12:58:09 +00:00
Christine Caulfield
962b7222d0
When reallocating the node IDs array, make it bigger rather than smaller!
2008-03-25 10:41:59 +00:00
Christine Caulfield
0075364715
Fix potential thread deadlock.
...
Also make local sockets non-blocking.
2008-03-17 09:37:47 +00:00
Christine Caulfield
3c78f9900c
Include limits.h so it compiles with newer headers.
2008-03-06 08:41:05 +00:00
Jim Meyering
8d909cbdc0
Remove redundant if-before-free tests in clvmd.c.
2008-02-15 14:12:32 +00:00
Patrick Caulfield
3bfe922381
Update usage message for clvmd.
...
Fix clvmd man page printing <br>, clarified debug options.
2008-02-05 09:38:04 +00:00
Alasdair Kergon
2b83c80593
Fix mirror log name construction during lvconvert. (2.02.30)
...
Make monitor_dev_for_events recurse through the stack of LVs.
Clean up some more compiler warnings.
Add mirror names test script.
2008-01-31 12:19:36 +00:00
Patrick Caulfield
9229630447
Remove redundant cnxman-socket.h file.
2008-01-21 14:07:46 +00:00
Petr Rockai
50a1e81ba7
Amend previous commit. * does not match .files...
2008-01-09 15:33:25 +00:00
Petr Rockai
d9885b1b64
Add snapshot dmeventd library (enables dmeventd snapshot monitoring).
2008-01-09 15:32:19 +00:00
Patrick Caulfield
8c01179075
Tidy the clvmd backup code.
...
Move the backups inside the protection of the VG lock,
Don't backup if we have a suspended LV
Correct the vg_read() call
2007-12-05 13:17:18 +00:00
Patrick Caulfield
8f21c9a920
When we unlock a VG tell the clvmds to see if a backup of the metadata needs
...
to be done.
2007-12-04 15:39:26 +00:00
Petr Rockai
8c6f96faab
Fix a possible double-free in libdevmapper-event.
2007-11-27 12:26:06 +00:00
Patrick Caulfield
85ac11b69b
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
3499e48064
Make it compile with new lv_info_by_lvid() prototype
2007-11-14 13:37:51 +00:00
Jim Meyering
c99204d370
Correct typo in comments: s/is part of the LVM2/is part of LVM2/.
...
Signed-off-by: Jim Meyering <jim@meyering.net>
Author: Jim Meyering <jim@meyering.net>
2007-09-21 10:16:45 +00:00
Patrick Caulfield
44c2b4b281
Fix clvmd logging so you can get lvm-level debugging out of it.
2007-08-24 08:29:39 +00:00
Patrick Caulfield
4cd97611e5
Locking P_global causes a cache refresh.
2007-08-23 15:43:20 +00:00
Patrick Caulfield
756e539661
Force a device scan after init_full_scan_done() per agk.
2007-08-23 12:44:09 +00:00
Patrick Caulfield
cde44e3172
Call init_full_scan_done() when refreshing the cache. This should fix clvmd -R.
2007-08-23 12:19:13 +00:00
Alasdair Kergon
1ad58e1121
Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1.
2007-08-21 16:26:07 +00:00
Patrick Caulfield
471ab92bbb
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
Jim Meyering
7454664997
Add "const" attributes where possible: first cut.
2007-08-07 09:06:05 +00:00
Alasdair Kergon
bcb31df10d
Use NULL not 0.
...
Remove worthless comment.
2007-08-05 00:13:02 +00:00
Petr Rockai
eec17858c4
Fix a possible segfault in libdevmapper-event. Thanks to Brian J. Wood
...
for noticing this.
2007-08-02 22:31:59 +00:00
Milan Broz
756c6f8560
Fix clvmd if compiled with gulm support. (2.02.26)
2007-07-24 15:35:11 +00:00
Jim Meyering
6fa6ce35da
libdevmapper, dmeventd: be paranoid about detecting write failure
...
* dmeventd/dmeventd.c (_set_oom_adj): When writing to /proc/self/oom_adj,
detect failure even if it's hidden behind ferror. [Using dm_fclose's
extra ferror test here is probably not needed, since the amount written
is nowhere near BUFSIZ, but use it regardless, for consistency. ]
* lib/fs/libdevmapper.c (do_suspend): Detect fclose failure when
writing to suspend.
2007-07-24 14:16:48 +00:00
Jim Meyering
1ec0d47f10
Use gcc's printf attribute wherever possible.
...
* daemons/clvmd/clvmd.h (debuglog): Add __attribute__((printf)).
* lib/config/config.c (_line_append): Likewise.
* lib/misc/lvm-string.h (emit_to_buffer): Likewise.
2007-07-20 15:38:19 +00:00
Patrick Caulfield
49cae61254
Tidy bits of clvmd-openais and improve an error report.
2007-07-11 12:07:39 +00:00
Patrick Caulfield
fe16df2e6f
Use cpg_local_get() rather then Clm to get the local nodeid.
2007-06-25 09:02:37 +00:00
Patrick Caulfield
8da9ec3599
Remove system-lv.[ch]
2007-06-14 10:17:12 +00:00
Patrick Caulfield
01fdf84d69
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
bf97034485
Add *Experimental* OpenAIS support to clvmd.
2007-05-21 10:52:01 +00:00
Patrick Caulfield
52ada4853c
Misc clvmd cleanups from Jim Meyering
2007-05-02 12:22:40 +00:00
Patrick Caulfield
c2b27a8298
Add some more debuglogs to clvmd startup.
2007-05-02 08:23:36 +00:00
Alasdair Kergon
2294fdb496
Change some #include lines to search only standard system directories.
2007-04-27 17:46:16 +00:00
Patrick Caulfield
d6c8e1df61
Fix thread race in clvmd.
2007-04-24 15:13:13 +00:00
Petr Rockai
5ec7c8fece
Fix the regression introduced by dmeventd leak fixes.
2007-04-24 13:29:02 +00:00
Petr Rockai
228486a971
Fix some memory leaks in dmeventd.
2007-04-23 15:06:03 +00:00
Patrick Caulfield
88c0caab26
Make clvmd cope with quorum devices in RHEL5
...
bz#237386
2007-04-23 14:55:28 +00:00
Milan Broz
2e21519a10
Fix libdevmapper-event memory leaks
2007-04-19 19:10:19 +00:00
Patrick Caulfield
b9f7f30158
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
Alasdair Kergon
bf83527b64
Remove unnecessary memset() return value checks. [Jim Meyering]
2007-03-16 14:36:14 +00:00
Alasdair Kergon
a223c3fea3
Improve dmeventd messaging protocol: drain pipe and tag messages.
2007-02-02 17:08:51 +00:00
Alasdair Kergon
cb120ddb15
dmeventd mirror sets ignore_suspended_devices and avoids scanning mirrors.
2007-01-25 23:32:29 +00:00
Alasdair Kergon
f813d41a76
Add some missing close() and fclose() return code checks.
...
Fix exit statuses of reporting tools (2.02.19).
2007-01-25 14:37:48 +00:00
Alasdair Kergon
d851289d8a
Add some missing close() and fclose() return value checks.
2007-01-25 14:16:20 +00:00
Alasdair Kergon
317e588efd
Add private variable to dmeventd shared library interface.
2007-01-23 17:40:40 +00:00
Alasdair Kergon
b1d32a03c7
add a dso-private variable to dmeventd interface
...
more inline docn
2007-01-23 17:38:39 +00:00
Alasdair Kergon
9d944d6cf9
Fix refresh_toolcontext() always to wipe persistent device filter cache.
...
Add is_long_lived to toolcontext.
2007-01-23 15:58:06 +00:00
Alasdair Kergon
63e4217271
Add dm_event_handler_[gs]et_timeout functions.
...
Streamline dm_report_field_* interface.
2007-01-22 15:03:57 +00:00
Alasdair Kergon
f4bd12e8e9
register->monitor etc.
2007-01-19 22:21:45 +00:00
Alasdair Kergon
df15f46900
var dev_name->device_name (lvm2 has dev_name())
2007-01-19 20:42:09 +00:00
Alasdair Kergon
fb3a732361
fix exit status; always print message on child failure
2007-01-19 18:08:36 +00:00
Alasdair Kergon
2d74110feb
Add cmdline debug & version options to dmeventd.
...
Fix oom_adj handling.
2007-01-19 17:22:17 +00:00
Alasdair Kergon
44c6c36c43
stat oom_adj and stay silent if it doesn't exist
...
dm_event_handler now keeps private copies of strings
2007-01-17 14:45:10 +00:00
Alasdair Kergon
af13ccddda
more fixes
2007-01-16 23:03:13 +00:00
Alasdair Kergon
392e1bc2e8
more little fixes
2007-01-16 21:13:07 +00:00
Alasdair Kergon
9268d92c70
clean up global mutex usage and fix a race in thread finalisation code
...
properly clean up thread status when thread terminates from within
2007-01-16 20:27:07 +00:00
Alasdair Kergon
bb3366c07d
dmeventd oom_adj + reduce thread stack size
2007-01-16 20:13:04 +00:00
Alasdair Kergon
954bd9257b
Add basic reporting functions to libdevmapper.
2007-01-16 18:04:15 +00:00
Alasdair Kergon
5d51a56c02
reduce some if/else complexity
2007-01-15 22:37:40 +00:00
Alasdair Kergon
f48648552e
Fix a malloc error path in dmsetup message.
2007-01-15 22:05:50 +00:00
Alasdair Kergon
01dc83b936
fix recent checkins
2007-01-15 19:47:49 +00:00
Alasdair Kergon
3a8dff3a62
fail registration if timeout thread cannot be started
2007-01-15 19:19:31 +00:00
Alasdair Kergon
13b234ccba
use DMEVENTD_PATH
2007-01-15 19:11:58 +00:00
Alasdair Kergon
e451e93664
static naming
2007-01-15 18:58:40 +00:00
Alasdair Kergon
b4f9531475
Some libdevmapper-event interface changes.
2007-01-15 18:22:02 +00:00
Alasdair Kergon
3184ff75c4
More libdevmapper-event interface changes and fixes.
...
Rename dm_saprintf() to dm_asprintf().
2007-01-15 18:21:01 +00:00
Alasdair Kergon
c975a100b1
Report dmeventd mirror monitoring status.
2007-01-12 20:38:30 +00:00
Alasdair Kergon
02bf389425
Reinstate dm_event_get_registered_device
2007-01-12 20:22:11 +00:00
Alasdair Kergon
2b48fad426
updated dmeventd interface
2007-01-11 22:24:32 +00:00
Alasdair Kergon
d554b2bc94
Lots of dmeventd-related changes.
2007-01-11 21:54:53 +00:00
Alasdair Kergon
f66943de43
fail if status args are missing
2007-01-11 20:11:19 +00:00
Alasdair Kergon
9d1e9bc2fb
Remove dmeventd mirror status line word limit
2007-01-11 19:52:06 +00:00
Alasdair Kergon
2d6a014920
Use CFLAGS when linking so mixed sparc builds can supply -m64
2007-01-11 17:12:27 +00:00
Alasdair Kergon
c1952bf257
Use CFLAGS when linking so mixed sparc builds can supply -m64.
2007-01-11 16:23:22 +00:00
Alasdair Kergon
7c9920d982
fix last checkin
2007-01-08 15:35:08 +00:00
Alasdair Kergon
cbdccf0a9c
Lots of dmevent changes.
...
Export dm_basename().
Cope with a trailing space when comparing tables prior to possible reload.
2007-01-08 15:18:52 +00:00
Alasdair Kergon
64fa83ec3f
Add dmeventd_mirror register_mutex, tidy initialisation & add memlock.
2007-01-08 14:24:20 +00:00
Alasdair Kergon
66e623fb2a
Fix dmeventd mirror to cope if monitored device disappears.
2006-12-20 14:35:02 +00:00
Patrick Caulfield
9dee30ff0e
Fix gulm operation of clvmd. including a hang when attempting to
...
exclusively lock an LV that is already locked no another node.
2006-12-11 14:00:26 +00:00
Patrick Caulfield
f91aadbea8
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
b9ba9ffad2
clvmd ia64 alignment fixes etc. (pjc)
2006-12-01 23:10:26 +00:00
Alasdair Kergon
642be5d16c
Fix VG clustered read locks to use PR not CR.
...
VG metadata reads were not being locked out during metadata updates.
2006-12-01 22:48:47 +00:00
Patrick Caulfield
1cd8c849b8
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
d2b7cfa2d1
Add -T (startup timeout) switch to clvmd
2006-11-30 09:44:07 +00:00
Jonathan Earl Brassow
94b2e29cb1
- likely cut and paste error. Fix wrong function name in debug
...
output.
2006-10-24 18:49:31 +00:00
Patrick Caulfield
4e2f240c98
Add clvmd call to return the cluster name.
2006-10-09 14:11:57 +00:00
Patrick Caulfield
cd95a0df7b
Use strncpy rather than strcpy
2006-10-06 10:06:37 +00:00
Patrick Caulfield
82fa497c16
Fix clvmd bug that could cause it to die when a node with a long name crashed.
2006-10-06 10:06:10 +00:00
Patrick Caulfield
8233cfd371
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
f1604c3e69
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
8c2e37381a
Stop clvmd complaining about nodes that have left the cluster
2006-08-24 12:45:05 +00:00
Patrick Caulfield
5824f992b7
Add needed new parameter to create_toolcontext().
2006-08-22 09:49:20 +00:00
Alasdair Kergon
a93fe79bc4
Add dm_split_words() and dm_split_lvm_name() to libdevmapper.
2006-08-21 12:07:03 +00:00
Alasdair Kergon
177bd565ac
Add mutex to dmeventd_mirror to avoid concurrent execution.
2006-07-04 18:57:27 +00:00
Alasdair Kergon
608eedf88d
Fix lvcreate corelog validation.
...
Add --config for overriding most config file settings from cmdline.
Quote arguments when printing command line.
Remove linefeed from 'initialising logging' message.
Add 'Completed' debug message.
Don't attempt library exit after reloading config files.
Always compile with libdevmapper, even if device-mapper is disabled.
2006-05-16 16:48:31 +00:00
Patrick Caulfield
c868b1fee2
Add needed include.
2006-05-15 12:32:08 +00:00
Alasdair Kergon
22374f718f
fix compile
2006-05-15 11:56:15 +00:00
Alasdair Kergon
445dd17db3
Add --monitor to vgcreate and lvcreate to control dmeventd registration.
...
Propagate --monitor around cluster.
Filter LCK_NONBLOCK in clvmd lock_vg.
2006-05-12 19:16:48 +00:00
Alasdair Kergon
2897eb3cb3
Add mirror log fault-handling policy.
2006-05-11 19:45:53 +00:00
Alasdair Kergon
bacfb913a0
Avoid a dmeventd compiler warning.
2006-05-11 19:08:02 +00:00
Alasdair Kergon
c99d0236a0
Propagate nosync flag around cluster.
2006-05-11 19:05:21 +00:00
Alasdair Kergon
654f5049eb
Move DEFS into configure.h.
...
Remove dmsetup line buffer limitation.
2006-05-10 19:38:25 +00:00
Alasdair Kergon
45dca55fc8
Make SIZE_SHORT the default for display_size().
...
Fix some memory leaks in error paths found by coverity.
Use C99 struct initialisers.
Move DEFS into configure.h.
Clean-ups to remove miscellaneous compiler warnings.
2006-05-09 21:23:51 +00:00
Alasdair Kergon
85877000a6
tweak .so loading messages; extra device_exists() sanity check
2006-04-28 14:08:04 +00:00
Alasdair Kergon
f95dbff71f
fix makefile
2006-04-19 17:32:05 +00:00
Alasdair Kergon
098f6830a6
fix makefile
2006-04-19 17:24:00 +00:00
Alasdair Kergon
590b654251
fix makefile
2006-04-19 17:15:08 +00:00
Alasdair Kergon
dcca7638e0
make pkgconfig installation step optional, and clean up generated files
2006-04-19 16:38:56 +00:00
Alasdair Kergon
70e45ad37b
Check for libsepol.
...
Add some cflow & scope support.
Separate out DEFS from CFLAGS.
Remove inlines and use unique function names.
2006-04-19 15:33:07 +00:00
Alasdair Kergon
db88210289
configure/makefile tidying + pkg-config support.
2006-04-19 15:23:10 +00:00
Patrick Caulfield
d648832a2d
allow new cman to shutdown on request.
2006-03-21 10:31:08 +00:00
Patrick Caulfield
f06833fbd2
Make sure it compiles if gulm is NOT selected AND using an old libcman.h
2006-03-15 08:36:11 +00:00
Patrick Caulfield
c561addc94
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
Alasdair Kergon
1273f179e8
Propagate partial mode around cluster.
2006-03-09 22:34:13 +00:00
Alasdair Kergon
5d02f60bde
dmeventd thread/fifo fixes.
2006-03-09 21:33:59 +00:00
Alasdair Kergon
ea80ab2cae
post-release
...
fix dmeventd build
2006-02-08 23:23:19 +00:00
Alasdair Kergon
b0473bffcb
remove a dmeventd_mirror syslog message
2006-02-06 19:34:45 +00:00
Alasdair Kergon
49d3037e87
fix tabs
2006-02-03 21:34:11 +00:00
Alasdair Kergon
37ad2bd4e8
tweak clvmd makefile
2006-02-03 21:31:00 +00:00
Alasdair Kergon
7d7b332b02
Temporary device_exists() fixes.
2006-02-03 19:44:59 +00:00
Alasdair Kergon
ac033b8612
Use supplied full dso name.
2006-02-03 19:41:34 +00:00
Alasdair Kergon
7fb7c86c46
fix libdevmapper-event-mirror liblvm2cmd link search path
2006-02-03 14:48:38 +00:00
Alasdair Kergon
17e298ad2a
Only do lockfs filesystem sync when suspending snapshots.
...
Switchover library building to use LIB_SUFFIX.
2006-01-31 14:52:30 +00:00
Alasdair Kergon
d031a374f9
Rename _log to dm_log and export.
...
Fix misc compile-time warnings.
2006-01-31 14:50:38 +00:00
Alasdair Kergon
71f2e4306d
Tidy some comments/messages.
2006-01-27 20:52:21 +00:00
Alasdair Kergon
f8af23a025
Fix renamed dso.
2006-01-27 20:51:36 +00:00
Alasdair Kergon
4ef55a6cd3
dmeventd thread termination fix
2006-01-27 20:50:01 +00:00
Alasdair Kergon
312f866723
some init_client cleanup
2006-01-27 20:49:13 +00:00
Alasdair Kergon
0ebe1f6dec
More dmeventd mirror cleanups.
2006-01-27 20:48:19 +00:00
Alasdair Kergon
2ad92e0e6e
Remove avoidable dmeventd mirror forking.
2006-01-27 20:47:20 +00:00
Alasdair Kergon
ac8823cdcf
Fix libdevmapper event daemon_running status.
2006-01-27 20:46:06 +00:00
Alasdair Kergon
77565f7ee4
Replace deprecated signal functions.
2006-01-27 20:45:17 +00:00
Alasdair Kergon
d656d90fa8
Use split_dm_name in dmeventd mirror code.
2006-01-27 20:43:52 +00:00
Alasdair Kergon
cd6568db69
fix dmevent registration return codes
2006-01-27 20:01:45 +00:00
Alasdair Kergon
85c818a39e
read/write loop fixes
2005-12-19 22:56:47 +00:00
Alasdair Kergon
8825157fbb
Change dm_tree_node_add_mirror_target_log parm order
2005-12-19 21:03:17 +00:00
Alasdair Kergon
6a22ad0171
comments
2005-12-13 13:34:31 +00:00
Alasdair Kergon
cf703b0433
Fix dmeventd build.
2005-12-05 11:16:48 +00:00
Alasdair Kergon
c0197a72d3
fix exports
2005-12-02 21:00:33 +00:00
Alasdair Kergon
b8b029b7d3
Add mirror dmeventd library
2005-12-02 19:52:06 +00:00
Alasdair Kergon
ab931b177d
dmeventd updates
2005-12-02 15:39:16 +00:00
Patrick Caulfield
3c2a4370a5
Make it compile with debug enabled.
2005-11-10 08:49:29 +00:00
Patrick Caulfield
5ae2693241
Use hash functions in libdevmapper.
2005-11-09 09:24:10 +00:00
Alasdair Kergon
67eb7723d6
Use hash, bitset, malloc, pool from libdevmapper.
2005-10-16 23:03:59 +00:00
Patrick Caulfield
e52f022026
clvmd no longer takes out locks for non-clusteed LVs,
...
and non-clustered LVs are only activated on the local node.
2005-08-16 08:25:09 +00:00
Alasdair Kergon
a0aedf299a
Prepare tools to support clustered mirrors.
2005-08-14 23:18:28 +00:00
Patrick Caulfield
7a8ea2ac93
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
Benjamin Marzinski
b85f99c140
Fixing some makesfiles, so that the correct things link against pthreads.
...
Also changed dmevent so that in no longer links against pthreads, and
dynamically loads libdmevent.so. Everything seems to work just fine like this.
2005-06-14 19:06:26 +00:00
Patrick Caulfield
ca4e0c973a
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
8e526ba1bf
Don't defer closing of FDs in clvmd as it can cause trouble.
2005-06-13 10:16:21 +00:00
Patrick Caulfield
6c6165c9f5
Be a bit smarter about reading stuff from the sockets
2005-06-10 09:11:01 +00:00
Benjamin Marzinski
853460b20d
Timeout event implementation:
...
The daemon side of this is mostly the same as the patch I sent out. To select
a timeout period different than the default and to get the timeout period,
I added two library calls, dm_set_event_timeout() and dm_get_event_timeout().
If people are against them, the other option is to tack extra arguments onto
dm_regiser_for_event() and dm_get_registered_device(). I also added a
-t option to dmevent, so people can try out timeouts.
2005-06-09 18:40:49 +00:00
AJ Lewis
7bc04fbad3
Change the multilog code to toggle between async and sync writes for all
...
log types. This means the threaded_syslog type is no longer valid. A new
fxn multilog_async is available to toggle between the two modes. If an
app is compiled without pthreads and tries to use async logging, no logging
will occur while async is enabled.
dmeventd has been modified to use the new code
I'm not positive I like the way the async_logger code calls the log fxn,
but it works for now. Suggestions for other ways to do it would be helpful
2005-05-25 21:08:36 +00:00
Heinz Mauelshagen
f1060fc88e
Exit after last unregister_for_event()
2005-05-20 13:53:26 +00:00
AJ Lewis
88f9534685
o Changed the multilog API a bit (I warned you)
...
- multilog_add_type, multilog_del_type, multilog_custom, and
multilog_init_verbose all have different arguments.
- Primary change is that caller only passes in config info, and the
lib keeps track of state internally. No more exporting of
'struct log_data'.
- Custom callers now only get the custom data pointer passed into their
log fxn (that is set with multilog_custom)
- Added basic README that describes libmultilog
2005-05-09 18:44:35 +00:00
Benjamin Marzinski
45952cbdf2
oops. Those are char **'s not char *'s
2005-05-04 19:24:03 +00:00
Benjamin Marzinski
b355dd7b23
fixed dmevent so that it doesn't do a double free when you run
...
# dmevent -l
Also, changed the behaviour of dm_get_registered_device(), so that it doesn't
change the pointer you passed in without freeing the memory on a non-next call,
and doesn't free your pointer without setting it to NULL on a failed next call.
2005-05-04 18:53:28 +00:00
Heinz Mauelshagen
48a186f172
o libmultilog needs introducing of list locking in order to stand
...
multilog_add_type()/multilog_del_type cycles correctly.
o fixed segfault in multilog_add_type()
o fixed test-multilog.c
o cleaned up libmultilog (list macros, indentation, braces, comments)
2005-05-04 11:52:07 +00:00
Jonathan Earl Brassow
39dc7ec2ab
- make noop use multilog
...
- add event_nr to thread_status struct and set appropriately so that the
thread actually waits for an event
- essentially make error_detected return true. Let the DSOs determine
how to interpret the status info
2005-05-04 01:57:31 +00:00
AJ Lewis
2fedabd3b9
o stick multilog into the dm-event lib and dmeventd code again
...
o more tweaks to libmultilog calls - the api isn't set in stone yet, so
don't get too comfortable.
o not sure the dmeventd in device-mapper/dmeventd works - i've been using
the one in lib/event/
o currently both daemons are set to log only to syslog
2005-05-03 21:29:13 +00:00
Heinz Mauelshagen
40e896bc5b
working dm_get_registered_device(). dmevent.c update to use it.
2005-05-03 16:15:20 +00:00
Heinz Mauelshagen
3e940f80c7
more dm_get_registered_device() code
2005-05-03 13:50:42 +00:00
Benjamin Marzinski
dbf2888d43
dmeventd was looking for dsos with libdmeventd<name>.so
...
The Makefile turned noop.c into libdmeventnoop.so
The Makefile now turns noop.c into libdmeventdnoop.so
2005-05-02 19:34:25 +00:00
Benjamin Marzinski
d412355324
stopped printing a string after we erased the pointer to it.
2005-05-02 18:43:23 +00:00
Benjamin Marzinski
178732217f
removed the -lmultilog for now.
2005-05-02 18:42:07 +00:00
Benjamin Marzinski
de17b95c3d
get the makefile to clean up the .o's
2005-05-02 17:41:54 +00:00
Heinz Mauelshagen
d14e774525
Introduce exit() in main() and cleanup signal settings for parent/child
2005-05-02 11:02:19 +00:00
Benjamin Marzinski
ca5402a7fa
more variable initialization.
2005-04-29 22:12:09 +00:00
Heinz Mauelshagen
da36c286a6
o checking in instrumented code for AJ to follow up on comms and logging
...
o changed
int dm_get_next_registered_device(char **dso_name, char **device,
enum event_type *events);
to
int dm_get_registered_device(char **dso_name, char **device,
enum event_type *events, int next)
so that the daemon is able to retrive the next one of the list without
running into locking issues.
o changed dmevent.c to use dm_get_registered_device()
o couldn't test this yet because of the comms issues
(daemon exits in do_process_request())
2005-04-29 14:56:35 +00:00
Heinz Mauelshagen
d3901bcf2e
first changes to get comms back to work after flock changes
2005-04-29 13:41:25 +00:00
Heinz Mauelshagen
94c8d4fdfb
minor cleanup
2005-04-29 10:58:34 +00:00
AJ Lewis
ab8bdc18bb
o Build dmeventd against multilog
2005-04-28 22:47:52 +00:00
Alasdair Kergon
c9dcd7442a
build libdmeventnoop.so for testing
2005-04-28 17:32:27 +00:00
Alasdair Kergon
34c8f13346
test.c->dmevent.c
2005-04-28 14:49:41 +00:00
Alasdair Kergon
7a8ccda95c
o adds dm_get_next_registered_device() (not functional yet)
...
to retrieve which devices got registered with the daemon;
needs locking changes as well
2005-04-28 14:02:30 +00:00
Alasdair Kergon
44a1448542
Prototype for a device-mapper event-handling daemon.
2005-04-27 22:32:00 +00:00
Patrick Caulfield
901f7c5c36
Tidy clvmd's SIGHUP handler so it doesn't do all that work.
2005-04-19 10:36:42 +00:00
Patrick Caulfield
6102a5d2b0
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
8c3fdaaa62
set SO_KEEPALIVE on sockets
2005-04-01 16:03:00 +00:00
Patrick Caulfield
5ac1c69710
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
701c05ce96
Tighten signal handlers.
2005-03-21 14:16:16 +00:00
Patrick Caulfield
b982232cc5
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
6a0dcd7f0e
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
7c89ae44a9
Fix clvmd-gulm node up/down code so it actually works.
...
clvmd-gulm now releases locks when shut down.
2005-02-22 16:26:21 +00:00
Patrick Caulfield
84fe06da22
./configure --enable-debug now enables debugging code in clvmd
2005-02-21 15:58:06 +00:00
Patrick Caulfield
806318c8b3
Always manipulate both locks in sync_lock() otherwise they get left
...
hanging around and cause trouble.
2005-02-21 14:36:09 +00:00
Patrick Caulfield
6dba6cd78d
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
502250d08f
Fix gulm->errno error number conversion.
2005-02-17 12:56:19 +00:00
Patrick Caulfield
7395f0e680
Make config check a little more tolerant of library names.
2005-02-14 09:07:14 +00:00
Patrick Caulfield
522db1bf01
Fix thread shutdown race which could cause clvmd to hang in pthread_join.
2005-02-08 09:05:58 +00:00
Patrick Caulfield
06f066f90d
Revert last clvmd patch. More testing reveals that this just doesn't
...
work yet.
2005-02-07 14:45:38 +00:00
Patrick Caulfield
f37b20677b
Make clvmd use the command library rather than popen() to
...
preload the lock state.
2005-02-07 10:04:27 +00:00
Patrick Caulfield
4c80cc313a
Make clvmd do a quick sanity check on the clustering bits of lvm.conf
2005-02-02 11:42:29 +00:00
Patrick Caulfield
1c65fee9b4
Get rid of "connection refused" message because Corey doesn't like it.
2005-02-02 09:17:56 +00:00
Patrick Caulfield
150a002c40
Don't print CMAN error if initial probe fails - we could be running with GULM.
2005-01-26 09:30:52 +00:00
Patrick Caulfield
ce0def3bd8
Remove superflous &
...
Gulm clvmd no longer hangs trying to talk to a rebooted node.
2005-01-25 16:46:29 +00:00
Patrick Caulfield
ee20fa97c2
Make clvmd announce it's startup and cluster connection in syslog.
2005-01-24 15:31:13 +00:00
Patrick Caulfield
92e2a257a6
Get rid of libclvm as it's out-of-date and not used at all.
2005-01-21 11:56:30 +00:00
Patrick Caulfield
32e175752c
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
Alasdair Kergon
fdc49402ec
fix clvmd lv_info_by_lvid open_count
2005-01-19 18:10:09 +00:00
Patrick Caulfield
5529aec0d6
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
8b170dc2bf
Fix off-by-one error in cluster_locking that could case read hangs.
2005-01-07 14:22:49 +00:00
Patrick Caulfield
b131449422
Some more gulm fixes from "Mr gulm" himself.
2005-01-06 11:48:25 +00:00
Patrick Caulfield
86046445ed
Improve clvmd failure message if it's already running.
...
Allow user to kill clvmd during initialisation.
2005-01-05 14:41:54 +00:00
Patrick Caulfield
baea9bf944
Typo in "for" caused first node in ccs to be ignored.
2005-01-04 15:11:34 +00:00
Patrick Caulfield
0951ee9e63
Use new CCS key names for nodes in the GULM version of clvmd.
...
based on a patch from Mike Tilstra
2005-01-04 11:48:10 +00:00
Alasdair Kergon
6f4e93dc90
Configure/makefile tidy.
2004-11-26 18:07:17 +00:00
Patrick Caulfield
2affe53727
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
20f3408d96
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
e9d86789db
Can now build a gulm version of clvmd instead of a cman one. use
...
./configure --with-clvmd=gulm
The default is still cman, and you can't have both - sorry.
2004-11-03 10:45:07 +00:00
Patrick Caulfield
d48f8bf5cc
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
99d97754a6
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
b9d437de2a
Change some perror() calls to log_error() so they'll appear in
...
syslog when we're a daemon.
2004-10-06 10:02:25 +00:00
Patrick Caulfield
11403f2019
Check the UUID length when readingthe output of the "lvs" command at startup.
...
This way we should not get quite so confused by any debugging output
that may come our way.
2004-10-04 09:23:52 +00:00
Patrick Caulfield
14ae59885a
Make clvmd cope with large gaps in nodeIDs
2004-09-30 14:18:29 +00:00
Patrick Caulfield
e3ef54f99b
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
6533aa865a
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
953f4838dd
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
Patrick Caulfield
130b892d34
Don't use hold_lock for VG locks as that doesn't stop processes contending
...
on the same node, only across the cluster.
2004-09-23 12:29:35 +00:00