]> sourceware.org Git - lvm2.git/log
lvm2.git
13 years agoSlightly refactor the config code to allow better reuse (no functional change).
Petr Rockai [Mon, 18 Jul 2011 13:26:08 +0000 (13:26 +0000)]
Slightly refactor the config code to allow better reuse (no functional change).

13 years agoAdd a missing libdevmapper.h #include to lvm-types.h (for dm_list).
Petr Rockai [Mon, 18 Jul 2011 13:24:48 +0000 (13:24 +0000)]
Add a missing libdevmapper.h #include to lvm-types.h (for dm_list).

13 years agoAdd a couple missing #includes in uuid.h.
Petr Rockai [Mon, 18 Jul 2011 13:24:14 +0000 (13:24 +0000)]
Add a couple missing #includes in uuid.h.

13 years agoBetter version of failing 'should' test
Zdenek Kabelac [Mon, 18 Jul 2011 12:12:41 +0000 (12:12 +0000)]
Better version of failing 'should' test

where the naming is left completely on lvm.
(Commited code has been different version of test).
So here it should be able to figure out new free name and create a new LV.

13 years agoAdding test for repair when confusing metadata are found
Zdenek Kabelac [Mon, 18 Jul 2011 12:04:42 +0000 (12:04 +0000)]
Adding test for repair when confusing metadata are found

13 years agoLVM2 RAID design doc
Jonathan Earl Brassow [Thu, 14 Jul 2011 17:00:59 +0000 (17:00 +0000)]
LVM2 RAID design doc

13 years agoFix t-vgreduce-usage to stop relying on the persistent cache not seeing a
Petr Rockai [Mon, 11 Jul 2011 12:13:07 +0000 (12:13 +0000)]
Fix t-vgreduce-usage to stop relying on the persistent cache not seeing a
device that has been brought back from the dead: this sometimes fails with
clvmd (the cache is updated "too soon"). Instead, force a pvscan and rely on an
up-to-date cache as usual.

13 years agopost-release
Alasdair Kergon [Fri, 8 Jul 2011 19:57:32 +0000 (19:57 +0000)]
post-release

13 years agoremove unnecessary lvconvert.h
Alasdair Kergon [Fri, 8 Jul 2011 19:42:11 +0000 (19:42 +0000)]
remove unnecessary lvconvert.h

13 years agopre-release
Alasdair Kergon [Fri, 8 Jul 2011 19:19:44 +0000 (19:19 +0000)]
pre-release

13 years agoDowngrade error message - it isn't strictly an internal error in the
Alasdair Kergon [Fri, 8 Jul 2011 19:13:05 +0000 (19:13 +0000)]
Downgrade error message - it isn't strictly an internal error in the
library, and the known cause within lvm2 got fixed.

13 years agomove doc to doc dir
Alasdair Kergon [Fri, 8 Jul 2011 18:55:28 +0000 (18:55 +0000)]
move doc to doc dir

13 years agomissing ifdef when new fn unused
Alasdair Kergon [Fri, 8 Jul 2011 17:31:06 +0000 (17:31 +0000)]
missing ifdef when new fn unused

13 years ago Remove dev name prefix from dmsetup line output if exactly one dev requested.
Alasdair Kergon [Fri, 8 Jul 2011 17:08:19 +0000 (17:08 +0000)]
 Remove dev name prefix from dmsetup line output if exactly one dev requested.

13 years agoIgnore activation/verify_udev_operations if dm kernel driver vsn < 4.18.
Alasdair Kergon [Fri, 8 Jul 2011 16:49:04 +0000 (16:49 +0000)]
Ignore activation/verify_udev_operations if dm kernel driver vsn < 4.18.

13 years agoFix warning for pvcreate over MD linear.
Milan Broz [Fri, 8 Jul 2011 15:53:59 +0000 (15:53 +0000)]
Fix warning for pvcreate over MD linear.

If MD linear device has set rounding (overload chunk size attribute),
the pvcreate command prints this warning:

  /dev/md0 sysfs attr level not in expected format: linear

13 years agoNeed to snapshot lookup by uuid instead of name in case it's renamed.
Alasdair Kergon [Fri, 8 Jul 2011 15:35:50 +0000 (15:35 +0000)]
Need to snapshot lookup by uuid instead of name in case it's renamed.

13 years agoLog cookie values when incrementing/decrementing to give clues about races.
Alasdair Kergon [Fri, 8 Jul 2011 15:34:47 +0000 (15:34 +0000)]
Log cookie values when incrementing/decrementing to give clues about races.

13 years agoMove snapshot removal activation logic into lib/activate.
Alasdair Kergon [Fri, 8 Jul 2011 12:49:50 +0000 (12:49 +0000)]
Move snapshot removal activation logic into lib/activate.

13 years agoMove snapshot deactivation logic into lib/activate, fixing the
Alasdair Kergon [Fri, 8 Jul 2011 12:48:41 +0000 (12:48 +0000)]
Move snapshot deactivation logic into lib/activate, fixing the
teardown sequence.  (Previously the snapshot was deactivated while its
origin was active and before its removal was committed to disk, so
restarting after a crash at the point would leave corruption.)

13 years agoreport which dev was not found
Alasdair Kergon [Fri, 8 Jul 2011 12:35:48 +0000 (12:35 +0000)]
report which dev was not found

13 years agoIncrease timeout for udev settle
Zdenek Kabelac [Fri, 8 Jul 2011 10:05:43 +0000 (10:05 +0000)]
Increase timeout for udev settle

For some unknown reason (atm) udev settle takes longer time on recent rawhide.
To pass the test - inrease the settle timeout.

13 years agoCope with a PV only discovered missing when creating deptree.
Alasdair Kergon [Wed, 6 Jul 2011 00:29:44 +0000 (00:29 +0000)]
Cope with a PV only discovered missing when creating deptree.

13 years agoAbort operation if dm_tree_node_add_target_area fails.
Alasdair Kergon [Tue, 5 Jul 2011 23:10:14 +0000 (23:10 +0000)]
Abort operation if dm_tree_node_add_target_area fails.

13 years agoAlways perform preload logic before suspending - not only in the case when we
Alasdair Kergon [Tue, 5 Jul 2011 18:36:37 +0000 (18:36 +0000)]
Always perform preload logic before suspending - not only in the case when we
have precommitted metadata.  (Necessary to avoid loading tables
while suspend in lvchange --refresh.)

13 years agodecode cookie flags in debug msgs
Alasdair Kergon [Tue, 5 Jul 2011 16:17:14 +0000 (16:17 +0000)]
decode cookie flags in debug msgs

13 years agoSnapshots LVs are never loaded in their own right, only along with their
Alasdair Kergon [Tue, 5 Jul 2011 01:08:42 +0000 (01:08 +0000)]
Snapshots LVs are never loaded in their own right, only along with their
origin.

13 years agoFix conditions using no_merging: only those using lv_is_merging_cow() should
Alasdair Kergon [Tue, 5 Jul 2011 01:01:19 +0000 (01:01 +0000)]
Fix conditions using no_merging: only those using lv_is_merging_cow() should
have been converted, not pure lv_is_cow ones.
(Merging has no impact on how the pre-merged cow segment itself is loaded.)

13 years agofirst attempt to fix test
Alasdair Kergon [Mon, 4 Jul 2011 16:27:27 +0000 (16:27 +0000)]
first attempt to fix test

13 years agoreinstate accidentally-removed lines to fix pvmove again
Alasdair Kergon [Mon, 4 Jul 2011 14:56:58 +0000 (14:56 +0000)]
reinstate accidentally-removed lines to fix pvmove again

13 years agoReport internal error if suspending a device using an already-suspended dev.
Alasdair Kergon [Sat, 2 Jul 2011 01:17:09 +0000 (01:17 +0000)]
Report internal error if suspending a device using an already-suspended dev.
This catches the recent pvmove problem trapping I/O between layers.

13 years agoRAID updates for gdbinit file
Jonathan Earl Brassow [Fri, 1 Jul 2011 16:15:25 +0000 (16:15 +0000)]
RAID updates for gdbinit file

13 years agoAdd framework for validation of ioctls. Doesn't do any checks yet.
Alasdair Kergon [Fri, 1 Jul 2011 14:09:19 +0000 (14:09 +0000)]
Add framework for validation of ioctls.  Doesn't do any checks yet.
dmsetup --checks
libdevmapper: dm_task_enable_checks()
lvm.conf: activation/checks=1

13 years agoupdate pv_attr check for new missing attr
Alasdair Kergon [Thu, 30 Jun 2011 19:32:51 +0000 (19:32 +0000)]
update pv_attr check for new missing attr

13 years agoWhen suspending, automatically preload newly-visible existing LVs
Alasdair Kergon [Thu, 30 Jun 2011 18:25:18 +0000 (18:25 +0000)]
When suspending, automatically preload newly-visible existing LVs
Let's find out if this makes things better or worse overall...

13 years agoReport internal error when parameters are missing on table load
Zdenek Kabelac [Thu, 30 Jun 2011 09:24:58 +0000 (09:24 +0000)]
Report internal error when parameters are missing on table load

When some target is passing empty parameters to some dm target,
report this as an internal error to better catch some broken
table construction (some mirror conversions seem to be doing
this for now).

13 years agouse remove -f
Alasdair Kergon [Thu, 30 Jun 2011 09:17:49 +0000 (09:17 +0000)]
use remove -f

13 years agoteardown stray filesystems too
Alasdair Kergon [Thu, 30 Jun 2011 09:15:53 +0000 (09:15 +0000)]
teardown stray filesystems too

13 years agoUse -f to remove device
Zdenek Kabelac [Thu, 30 Jun 2011 09:08:22 +0000 (09:08 +0000)]
Use -f to remove device

Since some test may leave devices in suspend mode which would require
carefull order of resume operation - use '-f' to replace them with
error targets

For disable_dev  - when  'error' target is used for open count - treat
return code as ok (|| true) to avoid breaking futher test processing.

13 years agoTry to force remove dm devices in after test fails.
Milan Broz [Thu, 30 Jun 2011 08:50:10 +0000 (08:50 +0000)]
Try to force remove dm devices in after test fails.

13 years agoTry to remove any stray loop devices left behind by earlier aborted tests.
Alasdair Kergon [Thu, 30 Jun 2011 01:17:37 +0000 (01:17 +0000)]
Try to remove any stray loop devices left behind by earlier aborted tests.

13 years agotest attempt to remove stray loop devs
Alasdair Kergon [Thu, 30 Jun 2011 00:57:29 +0000 (00:57 +0000)]
test attempt to remove stray loop devs

13 years agoDifferentiate the request and response format, in daemon/common.
Petr Rockai [Wed, 29 Jun 2011 22:20:14 +0000 (22:20 +0000)]
Differentiate the request and response format, in daemon/common.

13 years agoAdd age filter to dmsetup udevcomplete_all to minimise concurrency problems.
Alasdair Kergon [Wed, 29 Jun 2011 21:56:46 +0000 (21:56 +0000)]
Add age filter to dmsetup udevcomplete_all to minimise concurrency problems.

13 years agomake udev teardown conditional on using udev
Alasdair Kergon [Wed, 29 Jun 2011 18:18:18 +0000 (18:18 +0000)]
make udev teardown conditional on using udev

13 years agoteardown aborts if it hits an error, so better teardown semaphores earlier
Alasdair Kergon [Wed, 29 Jun 2011 18:14:08 +0000 (18:14 +0000)]
teardown aborts if it hits an error, so better teardown semaphores earlier
as we need them later in the teardown process

13 years agoprint any loop devs that weren't torn down
Alasdair Kergon [Wed, 29 Jun 2011 17:37:30 +0000 (17:37 +0000)]
print any loop devs that weren't torn down

13 years agoremove any stray semaphores after tearing down devs
Alasdair Kergon [Wed, 29 Jun 2011 17:33:39 +0000 (17:33 +0000)]
remove any stray semaphores after tearing down devs

13 years agoReinstate correct permissions when creating mirrors.
Alasdair Kergon [Wed, 29 Jun 2011 17:05:53 +0000 (17:05 +0000)]
Reinstate correct permissions when creating mirrors.

13 years agodebug log readonly flag with ioctls
Alasdair Kergon [Wed, 29 Jun 2011 16:08:33 +0000 (16:08 +0000)]
debug log readonly flag with ioctls

13 years agoAppend 'm' attribute to pv_attr for missing PVs.
Alasdair Kergon [Wed, 29 Jun 2011 14:56:33 +0000 (14:56 +0000)]
Append 'm' attribute to pv_attr for missing PVs.

13 years agoAdd uuids to dmsetup create cmds.
Alasdair Kergon [Wed, 29 Jun 2011 12:37:51 +0000 (12:37 +0000)]
Add uuids to dmsetup create cmds.

13 years agouse dmsetup remove -f as a better way of simulating a device "disappearing"
Alasdair Kergon [Wed, 29 Jun 2011 12:33:18 +0000 (12:33 +0000)]
use dmsetup remove -f as a better way of simulating a device "disappearing"

13 years agoRemove temporary failures now, but continue to give INTERNAL_ERROR.
Alasdair Kergon [Wed, 29 Jun 2011 11:36:37 +0000 (11:36 +0000)]
Remove temporary failures now, but continue to give INTERNAL_ERROR.

13 years agoTemporary conversion to internal error and failure, to see how many
Alasdair Kergon [Wed, 29 Jun 2011 08:54:13 +0000 (08:54 +0000)]
Temporary conversion to internal error and failure, to see how many
instances of this problem this flushes out.

13 years agoFix error message - the parameter name is '--mirrorlog' not '--log'
Jonathan Earl Brassow [Wed, 29 Jun 2011 02:06:26 +0000 (02:06 +0000)]
Fix error message - the parameter name is '--mirrorlog' not '--log'

13 years agoRemove unnecesary conditional.
Jonathan Earl Brassow [Tue, 28 Jun 2011 21:28:35 +0000 (21:28 +0000)]
Remove unnecesary conditional.

The conditional is not just unnecessary, it would have been wrong.  The code
is suppose to be checking if the 'splitmirrors_ARG' is negative, but it
instead is checking 'mirrors_ARG'.  Rather than changing the argument being
checked, I've pulled the check entirely because 'splitmirrors_ARG' is already
guarenteed to not be negative by virtue of the fact that it is a 'int_arg'.
Negative values will be caught in _process_command_line().

13 years agoAnnotate CLVMD_CMD_SYNC_NAMES in decode_cmd
Zdenek Kabelac [Tue, 28 Jun 2011 13:42:15 +0000 (13:42 +0000)]
Annotate CLVMD_CMD_SYNC_NAMES in decode_cmd

13 years agoMore readahead tests.
Alasdair Kergon [Tue, 28 Jun 2011 09:43:28 +0000 (09:43 +0000)]
More readahead tests.

13 years agomore fixes to readahead etc.
Alasdair Kergon [Tue, 28 Jun 2011 09:24:13 +0000 (09:24 +0000)]
more fixes to readahead etc.

13 years agoChange to still sync with udev (to test waiting for rules) then to verify udev
Alasdair Kergon [Tue, 28 Jun 2011 00:38:26 +0000 (00:38 +0000)]
Change to still sync with udev (to test waiting for rules) then to verify udev
operations like it used to (which will perform them on systems with
non-std dev dirs where test udev rules aren't installed).

13 years agoRemove enforcement of udev verification when using non-standard /dev location.
Alasdair Kergon [Tue, 28 Jun 2011 00:23:06 +0000 (00:23 +0000)]
Remove enforcement of udev verification when using non-standard /dev location.
If you change the dev dir, it's your responsibility to adjust udev rules
or tell lvm not to use udev too.

13 years agoSelectively enable/disable udev rules.
Alasdair Kergon [Tue, 28 Jun 2011 00:11:46 +0000 (00:11 +0000)]
Selectively enable/disable udev rules.

13 years agoMove _set_lvm_fallback into toolcontext, fix string comparison (/devtest
Alasdair Kergon [Mon, 27 Jun 2011 23:43:04 +0000 (23:43 +0000)]
Move _set_lvm_fallback into toolcontext, fix string comparison (/devtest
matched /dev) and note that function should go anyway as it can be
overriding a valid config.

13 years agoExtend debug log messages to distinguish between the 3 states:
Alasdair Kergon [Mon, 27 Jun 2011 22:38:53 +0000 (22:38 +0000)]
Extend debug log messages to distinguish between the 3 states:
trust udev; verify udev; perform dev node operations directly.

13 years agoMove udev_only logic inside stacked node op code.
Alasdair Kergon [Mon, 27 Jun 2011 21:43:58 +0000 (21:43 +0000)]
Move udev_only logic inside stacked node op code.
(We still need to treat add+readhead+del as a no-op.)
Rename udev_fallback to verify_udev_operations.
Rename --udevfallback to --verifyudev

13 years agoAdd int/str lookup routines specific to the reply (in client) and request (in
Petr Rockai [Mon, 27 Jun 2011 14:03:58 +0000 (14:03 +0000)]
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}).

13 years agoAlso parse the config_tree on the client end (daemon-client.c).
Petr Rockai [Mon, 27 Jun 2011 13:58:11 +0000 (13:58 +0000)]
Also parse the config_tree on the client end (daemon-client.c).

13 years agoParse the incoming config tree in daemon-server.c, providing the
Petr Rockai [Mon, 27 Jun 2011 13:46:45 +0000 (13:46 +0000)]
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.

13 years agoLVMetaD build hack: link to lvm-internal &c. and add a simple test script.
Petr Rockai [Mon, 27 Jun 2011 13:44:33 +0000 (13:44 +0000)]
LVMetaD build hack: link to lvm-internal &c. and add a simple test script.

13 years agoImplement daemon_send_simple and use it in the testclient.
Petr Rockai [Mon, 27 Jun 2011 13:15:49 +0000 (13:15 +0000)]
Implement daemon_send_simple and use it in the testclient.

13 years agoDo not open the socket with SOCK_NONBLOCK in daemon-client, since we have no
Petr Rockai [Mon, 27 Jun 2011 13:14:53 +0000 (13:14 +0000)]
Do not open the socket with SOCK_NONBLOCK in daemon-client, since we have no
use for that behaviour (at least for now).

13 years agoCall daemon_close before exit in the testclient.
Petr Rockai [Mon, 27 Jun 2011 12:27:34 +0000 (12:27 +0000)]
Call daemon_close before exit in the testclient.

13 years agoSketch out the actual on-wire format in daemon-client.h documentation, and add
Petr Rockai [Mon, 27 Jun 2011 12:26:54 +0000 (12:26 +0000)]
Sketch out the actual on-wire format in daemon-client.h documentation, and add
a simplified send interface.

13 years agoremove unused var after recent patch
Alasdair Kergon [Fri, 24 Jun 2011 23:39:09 +0000 (23:39 +0000)]
remove unused var after recent patch

13 years agoReturn immediately dm_lib_exit() if called more than once.
Alasdair Kergon [Fri, 24 Jun 2011 19:33:41 +0000 (19:33 +0000)]
Return immediately dm_lib_exit() if called more than once.
(Avoiding calling it twice would involve some untangling.)
Decrement the new suspended_counter if removing a suspended device.

13 years agoFix to preserve exclusive activation of mirror while up-converting.
Jonathan Earl Brassow [Thu, 23 Jun 2011 14:00:58 +0000 (14:00 +0000)]
Fix to preserve exclusive activation of mirror while up-converting.

When an LVM mirror is up-converted (an additional image added), it creates
a temporary mirror stack.  The lower-level mirror in the stack that is
created was not being activated exclusively - violating the exclusive nature
of the original mirror.  We now check for exclusive activation of a mirror
before converting it, and if found, we ensure that the temporary mirror
is also exclusively activated.

13 years agoFail allocation if number of extents not divisible by area count
Milan Broz [Thu, 23 Jun 2011 10:53:24 +0000 (10:53 +0000)]
Fail allocation if number of extents not divisible by area count

Allocation should fail early if this condition is not met.

Quick fix for https://bugzilla.redhat.com/show_bug.cgi?id=707779

13 years agoFix issue preventing cluster mirror creation.
Jonathan Earl Brassow [Wed, 22 Jun 2011 21:31:21 +0000 (21:31 +0000)]
Fix issue preventing cluster mirror creation.

Mirrors used to be created by first creating a linear device and then adding
the other images plus the log.  Now mirrors are created by creating all the
images in one go and then adding the log separately.  The new way ran into
the condition that cluster mirrors cannot change the log type (in the case
of creation, from core -> disk) while the mirror is not active.  (It isn't
active because it is in the process of being created.)  The reason this
condition is in place is because a remote node may have the mirror active, and
we don't want to alter the log underneath it.

What we really needed was a way of checking if the mirror was active remotely
but not locally, and in that case do not allow a change of the log.  I've added
this check, and cluster mirrors can now be created again.

13 years agoAdd check for library fallback in _deactivate_node.
Peter Rajnoha [Wed, 22 Jun 2011 12:56:02 +0000 (12:56 +0000)]
Add check for library fallback in _deactivate_node.

This fn calls rm_dev_node directly - an exceptional case. It needs to check
the DM_UDEV_DISABLE_LIBRARY_FALLBACK flag directly (it's called in dm_task_run
normally where it's checked already).

13 years agoDisable udev fallback and add --udevfallback option to dmsetup.
Peter Rajnoha [Fri, 17 Jun 2011 14:55:51 +0000 (14:55 +0000)]
Disable udev fallback and add --udevfallback option to dmsetup.

13 years agoDisable udev fallback by default and add activation/udev_fallback to lvm.conf.
Peter Rajnoha [Fri, 17 Jun 2011 14:50:53 +0000 (14:50 +0000)]
Disable udev fallback by default and add activation/udev_fallback to lvm.conf.

We've used udev fallback code till now to check whether udev
created/removed the entries in /dev correctly and if not,
a repair was done (giving a warning messagea about that).

This patch adds a possibility to enable this additional check
and subsequent fallback only when required (debugging purposes
mostly) and trust udev completely.

So let's disable the fallback code by default and add a new
configuration option "activation/udev_fallback".

(The original code for creating the nodes will still be used
in case the device directory that is set in lvm.conf differs
from the one that udev uses and also when activation/udev_rules
is set to 0 - otherwise we would end up with no nodes/symlinks
at all)

13 years agoCode move of vg_mark_partial() up in stack
Zdenek Kabelac [Fri, 17 Jun 2011 14:39:10 +0000 (14:39 +0000)]
Code move of vg_mark_partial() up in stack

It's useful to keep the partial flag cached - so just move the call
for vg_mark_partil_lvs() into import_vg_from_config_tree() so it gets
evaluated before it goes through the lvmcache.

This patch should not present any functional change.

Note: It is rather temporal solution - proper place is probably inside the
'read' call back - but needs some more discussion.
For now using this minor hack.

13 years agoRemove unused internal flag ACTIVATE_EXCL from the code
Zdenek Kabelac [Fri, 17 Jun 2011 14:30:58 +0000 (14:30 +0000)]
Remove unused internal flag ACTIVATE_EXCL from the code

13 years agoRemove test for status flag
Zdenek Kabelac [Fri, 17 Jun 2011 14:27:34 +0000 (14:27 +0000)]
Remove test for status flag

As the ACTIVATE_EXCL could be set only in clvmd code - there is no
use for this test in lv_add_mirrors() function only called from
tools context.

FIXME: Add cluster test case for this.

13 years agoAdd couple FIXMEs around suspicious code
Zdenek Kabelac [Fri, 17 Jun 2011 14:24:18 +0000 (14:24 +0000)]
Add couple FIXMEs around suspicious code

13 years agoUse lv_activate_opts struct instead of ACTIVATE_EXCL status flag
Zdenek Kabelac [Fri, 17 Jun 2011 14:22:48 +0000 (14:22 +0000)]
Use lv_activate_opts struct instead of ACTIVATE_EXCL status flag

Let's hope all conditions has been properly converted.

13 years agoUse lv_activate_opts struct instead of ACTIVATE_EXCL status flag.
Zdenek Kabelac [Fri, 17 Jun 2011 14:17:16 +0000 (14:17 +0000)]
Use lv_activate_opts struct instead of ACTIVATE_EXCL status flag.

13 years agoAdd lv_activate_opts structure
Zdenek Kabelac [Fri, 17 Jun 2011 14:14:19 +0000 (14:14 +0000)]
Add lv_activate_opts structure

To avoid modification of 'read-only' volume group structure
add a new structure to pass local data around the code for LV
activation.

As origin_only is one such flag - replace this parameter with new
struct lv_activate_opts.

More parameters might eventually become part of lv_activate_opts.

13 years agoWhat's new.
Petr Rockai [Wed, 15 Jun 2011 17:48:35 +0000 (17:48 +0000)]
What's new.

13 years agoFix RHBZ 651590 (failure to lock LV results in failure to repair mirror after
Petr Rockai [Wed, 15 Jun 2011 17:45:02 +0000 (17:45 +0000)]
Fix RHBZ 651590 (failure to lock LV results in failure to repair mirror after
transient error), stemming from the following sequence of events:

1) devices fail IO, triggering repair
2) dmeventd starts fixing up the mirror
3) during the downconversion, a new metadata version is written

--> the devices come back online here

4) the mirror device suspend/resume is called to update DM tables
5) during the suspend/resume cycle, *pre*-commit metadata is read;
   however, since the failed devices are now back online, we get back
   inconsistent set of precommit metadata and the whole operation fails

The patch relaxes the check that fails in step 5 above, namely by ignoring
inconsistencies coming from PVs that are marked MISSING.

13 years agoAdd proper udev library context initialization and finalization to liblvm.
Peter Rajnoha [Wed, 15 Jun 2011 13:29:48 +0000 (13:29 +0000)]
Add proper udev library context initialization and finalization to liblvm.

This was missing in liblvm and it caused all udev-related operations to
not take effect when using liblvm, e.g. obtaining the list of devices from udev
db instead of scanning the whole /dev which also recreated the .cache as a side
effect. This was also the case with udisks-lvm-pv-export prober which is run
from within udev rules whenever the CHANGE event is fired.

13 years agoFix lvreduce stripe rounding up from previous commit.
Milan Broz [Wed, 15 Jun 2011 10:56:52 +0000 (10:56 +0000)]
Fix lvreduce stripe rounding up from previous commit.

13 years agoAdd a skeleton for lvmetad, a test client, and a temporary Makefile to build
Petr Rockai [Tue, 14 Jun 2011 02:36:38 +0000 (02:36 +0000)]
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.

13 years agoCommon daemon code: Implement basic socket-based communication infrastructure
Petr Rockai [Tue, 14 Jun 2011 02:34:18 +0000 (02:34 +0000)]
Common daemon code: Implement basic socket-based communication infrastructure
(both client and server side). The server handles each connection in a separate
thread.

13 years agoFix last snapshot removal to avoid table reload while a device is suspended.
Alasdair Kergon [Mon, 13 Jun 2011 22:28:04 +0000 (22:28 +0000)]
Fix last snapshot removal to avoid table reload while a device is suspended.

13 years agoFix fields in warning message.
Alasdair Kergon [Mon, 13 Jun 2011 03:53:02 +0000 (03:53 +0000)]
Fix fields in warning message.

13 years agoMaintain a count of the number of suspended devices in libdevmapper
Alasdair Kergon [Mon, 13 Jun 2011 03:32:45 +0000 (03:32 +0000)]
Maintain a count of the number of suspended devices in libdevmapper
and use this for the LVM critical section logic.  Also report an error if
code tries to load a table while any device is known to be in the
suspended state.
(If the variety of problems these changes are showing up can't be fixed
before the next release, the error messages can be reduced to debug
level.)

13 years agoFix 'pvs -o pv_all' to include label fields. (Also removed recursion.)
Alasdair Kergon [Sun, 12 Jun 2011 19:49:40 +0000 (19:49 +0000)]
Fix 'pvs -o pv_all' to include label fields.  (Also removed recursion.)

13 years agoDisable critical section internal errors until this can be fixed properly
Alasdair Kergon [Sun, 12 Jun 2011 00:23:50 +0000 (00:23 +0000)]
Disable critical section internal errors until this can be fixed properly
in libdevmapper.

This page took 0.067359 seconds and 5 git commands to generate.