Milan Broz
63b8ed7c37
Fix clvmd processing of invalid request on local socket. (rommer)
...
Code now detects small packet and wrong arglen and reply with
error intead of infinite loop.
https://bugzilla.redhat.com/show_bug.cgi?id=738484
2011-09-16 14:40:06 +00:00
Zdenek Kabelac
37341289e6
Keep the old-style function definition
2011-09-14 09:53:32 +00:00
Zdenek Kabelac
e9047f4f9c
Detect sscanf recovering_region input error
...
Missing check for sscanf found by static analyzer.
2011-09-06 18:24:27 +00:00
Zdenek Kabelac
b647de3e07
Fix memory leak of allocated bitmap in error path
...
Found by static analyzer.
2011-09-06 18:15:43 +00:00
Zdenek Kabelac
7b83071708
Log unlink() error
2011-09-06 18:11:21 +00:00
Zdenek Kabelac
0945b313bf
Hack for build rules of lvmetad
...
FIXME
2011-09-02 14:49:00 +00:00
Zdenek Kabelac
49cd515cd2
Compile fix
...
Reflecting change in dm_config_value float r -> float f.
2011-09-02 11:04:12 +00:00
Alasdair Kergon
1ca0eea5bb
Only build libdaemon.a when we need it at the moment.
2011-09-01 17:56:53 +00:00
Zdenek Kabelac
08a95743a2
Keep the old-style prototypes
2011-09-01 13:25:50 +00:00
Petr Rockai
e68a6fbf20
Fix warnings and constness handling in lvmetad-core (adjusting the
...
dm_config_find_node to give non-const node pointer, since that better reflects
the contract of that function).
2011-08-31 12:39:58 +00:00
Petr Rockai
6e4e30827d
Fix warnings in daemons/common.
2011-08-31 12:18:40 +00:00
Petr Rockai
d008fc86a0
Get rid of the old lvmetad Makefile.
2011-08-31 11:44:27 +00:00
Petr Rockai
615534d305
A compromise integration of LVMetaD into the build: I have kept all the
...
daemon/common code in a single libdaemon.a, which is completely private. This
is currently linked into the lvmetad binary, and will be linked into LVM (the
client part, since static linking only picks up only symbols that are actually
used). I have also added --enable/disable-lvmetad to ./configure; although the
current default is off, I expect this to be flipped to on shortly. There's no
LVM-side support yet, but when there is, even when built, it'll still need to
be enabled by an lvm.conf option.
2011-08-31 11:31:57 +00:00
Zdenek Kabelac
316d14d45f
Fix resource leak when strdup fails
...
Static analyzer noticed, strdup failing path leaks dmt structure.
2011-08-31 08:23:05 +00:00
Petr Rockai
04e647aa84
Adapt LVMetaD to use the new dm_config interfaces.
2011-08-30 15:44:01 +00:00
Petr Rockai
c033ea0170
Adapt the daemon/common code to use the new dm_config interface.
2011-08-30 15:42:56 +00:00
Alasdair Kergon
d8b1aa198b
more pre-release fixes
2011-08-12 02:16:46 +00:00
Alasdair Kergon
6b2717ae83
Drop CCS* variables no longer used.
2011-08-12 01:52:16 +00:00
Alasdair Kergon
40dbaac892
pre-release fixes incl make distclean and configure --with-raid=none/shared
2011-08-11 19:18:17 +00:00
Milan Broz
fc438d74b7
Never ever use uninitialised descriptors if pipe() fails
...
(because of maximum open count fd exceeded or so).
Better return busy message, so even clients fail in more controlled way.
Without patch, clvmd crashes with various strange backtraces
if under heavy load of connection requests.
https://bugzilla.redhat.com/show_bug.cgi?id=698393
https://bugzilla.redhat.com/show_bug.cgi?id=697945
(It still can OOM but that's different issue.)
2011-08-11 12:57:10 +00:00
Jonathan Earl Brassow
3041b72f06
Add dmeventd monitoring for RAID devices.
2011-08-11 05:00:20 +00:00
Zdenek Kabelac
077a6755ff
Replace free_vg with release_vg
...
Move the free_vg() to vg.c and replace free_vg with release_vg
and make the _free_vg internal.
Patch is needed for sharing VG in vginfo cache so the release_vg function name
is a better fit here.
2011-08-10 20:25:29 +00:00
Milan Broz
5ddda8cd56
Initialise clvmd locks before lvm context to avoid open descriptor leaks.
...
(At least /dev/mapper/control is open after lvm context init.)
2011-08-10 11:00:32 +00:00
Milan Broz
7cf607705b
Remove obsoleted GULM clvmd cluster locking support.
2011-08-09 18:11:00 +00:00
Zdenek Kabelac
fb2f985dfe
Add test for fcntl error in singlenode client code.
...
Static analyzer noticed this check could be handy.
2011-08-04 12:13:50 +00:00
Peter Rajnoha
3c614ef1c1
Add support for systemd file descriptor handover in dmeventd.
...
Systemd preloads file descriptors for us and passes them in for
newly spawned daemon when using on-demand fifo (or socket)
based activation.
This patch adds checks for file descriptors preloaded by
systemd and uses them instead of opening the FIFOs again
to properly support on-demand FIFO-based activation.
(We'll change FIFOs to sockets soon - but still this
part of the code will stay almost the same.)
2011-07-28 13:06:50 +00:00
Peter Rajnoha
7d47d109b9
Add support for new oom killer adjustment interface (oom_score_adj).
...
The filename to adjust the oom score was changed in 2.6.36.
We should use oom_score_adj instead of oom_adj (which is still
there under /proc, but it's scheduled for removal in August 2012).
New oom_score_adj uses a range from -1000 (OOM_SCORE_ADJ_MIN,
disable oom killing) to 1000 (OOM_SCORE_ADJ_MAX).
2011-07-28 13:03:37 +00:00
Petr Rockai
1d9c083fcc
lvmetad: Edit the MISSING_PV flags only after making a "reply" copy of the
...
metadata, which is then serialised and discarded. This fixes a couple of
outstanding TODO items about handling the MISSING flags correctly.
2011-07-25 17:59:50 +00:00
Petr Rockai
059ee25951
lvmetad: Check integrity of multiple metadata copies, i.e. ensure that seqno
...
equality implies metadata equality. Signal error in response to any update
requests that try to overwrite metadata without providing a higher seqno.
2011-07-25 15:51:51 +00:00
Petr Rockai
9474992482
lvmetad: A couple of TODOs, and fix a few trivial memory leaks.
2011-07-25 15:33:04 +00:00
Petr Rockai
c2ca1a707a
lvmetad: Obliterate vg_status by returning the same information from
...
update_pv_status, saving a dozen lines of code and execution time of one
walkthrough of the PV list.
2011-07-20 21:33:41 +00:00
Petr Rockai
bc0a902434
lvmetad: Fix a possible infinite loop in vg_status.
2011-07-20 21:27:28 +00:00
Petr Rockai
fba6c62b84
lvmetad: Robustify update_pv_status and remove an useless lookup.
2011-07-20 21:26:18 +00:00
Petr Rockai
0cfb99d385
First stab at making lvmetad-core threadsafe. The current design should allow
...
very reasonable amount of parallel access, although the hash tables may become
a point of contention under heavy loads. Nevertheless, there should be orders
of magnitude less contention on the hash table locks than we currently have on
block device scanning.
2011-07-20 21:23:43 +00:00
Petr Rockai
dcbf5a3b5d
lvmetad: Avoid stale PV -> VG mappings on metadata update.
2011-07-20 18:45:32 +00:00
Petr Rockai
cd7bca83e1
Optimise PV -> VG lookups by using a UUID (hash) map.
2011-07-20 18:34:57 +00:00
Petr Rockai
652e0757c9
Free up allocated memory before exiting, in lvmetad.
2011-07-20 18:24:49 +00:00
Petr Rockai
a720420466
Fix two small (but eventually unbounded) leaks in daemon-server.c.
2011-07-20 18:23:33 +00:00
Petr Rockai
42e23dbf6c
Can't have a global memory pool in lvmetad (that would constitute an ongoing
...
memory leak) => remove it (it's been unused anyway).
2011-07-20 16:49:21 +00:00
Petr Rockai
50ff3c076e
Make lvmetad also report VGID in reply when adding a PV without MDAs (this
...
obviously only works for VGs that already had at least some MDA discovered).
2011-07-20 16:46:40 +00:00
Petr Rockai
4eb53158e5
Add code to lvmetad's testclient that scans an actual physical device,
...
effectively emulating a future "pvscan --lvmetad" command.
2011-07-20 15:15:41 +00:00
Petr Rockai
c33d33bab7
Make lvmetad report the VG ID and status (complete, partial) in reply to pv_add
...
requests.
2011-07-20 15:14:17 +00:00
Petr Rockai
2ef620ec7f
Towards MISSING (PV) flag management in lvmetad.
2011-07-19 19:15:22 +00:00
Petr Rockai
3c238baf03
Work out some more details in metadata update in lvmetad.
2011-07-19 16:48:13 +00:00
Petr Rockai
9796bd4db6
More work on cache maintenance code in lvmetad: keep track of PV status.
2011-07-19 14:13:59 +00:00
Petr Rockai
252853560c
Start filling in the core LVMetaD functionality and the corresponding
...
testclient bits.
2011-07-18 14:48:30 +00:00
Petr Rockai
372e9b3d64
Various improvements to the daemon-common code, including automated response
...
formatting from config trees provided by the daemon implementation.
2011-07-18 14:46:54 +00:00
Petr Rockai
aac236f4a8
Improve format_buffer in daemon-shared.c, adding block formatting in addition
...
to string/integer (this propagates to the *simple* family of request/response
functionality).
2011-07-18 14:42:44 +00:00
Alasdair Kergon
730cfc74b8
move doc to doc dir
2011-07-08 18:55:28 +00:00
Alasdair Kergon
c837830f6a
report which dev was not found
2011-07-08 12:35:48 +00:00