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
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
Alasdair Kergon
730cfc74b8
move doc to doc dir
2011-07-08 18:55:28 +00:00
Petr Rockai
94bb67ab37
Add int/str lookup routines specific to the reply (in client) and request (in
...
server) for nicer-looking code (thin wrapping around find_config_{int,str}).
2011-06-27 14:03:58 +00:00
Petr Rockai
aaca7f111f
Also parse the config_tree on the client end (daemon-client.c).
2011-06-27 13:58:11 +00:00
Petr Rockai
55e300716f
Parse the incoming config tree in daemon-server.c, providing the
...
daemon-specific handler with a struct config_tree pointer to look things up in.
2011-06-27 13:46:45 +00:00
Petr Rockai
9925977b07
LVMetaD build hack: link to lvm-internal &c. and add a simple test script.
2011-06-27 13:44:33 +00:00
Petr Rockai
4fcbeed6ef
Implement daemon_send_simple and use it in the testclient.
2011-06-27 13:15:49 +00:00
Petr Rockai
ea32ca07e7
Call daemon_close before exit in the testclient.
2011-06-27 12:27:34 +00:00
Petr Rockai
acf3616b3a
Add a skeleton for lvmetad, a test client, and a temporary Makefile to build
...
them. These are currently mostly for testing the daemon-common code. LVMetaD
functionality is expected to trickle in soon though.
2011-06-14 02:36:38 +00:00
Milan Broz
7c1a2417f5
Use /var/run/lvm for lvmetad socket.
2011-06-02 08:58:05 +00:00
Petr Rockai
ba7d33be9c
Mention code layout in lvmetad DESIGN.
2011-05-23 14:46:48 +00:00
Petr Rockai
04507b0ace
First go at the lvmetad client-side interface.
2011-05-13 08:17:26 +00:00
Petr Rockai
f03e3ac15b
Initial design document for LVMetaD, building on the draft from June of last
...
year, incorporating the outcomes of today's and yesterday's discussions.
2011-05-12 17:49:46 +00:00