]> sourceware.org Git - lvm2.git/log
lvm2.git
14 years agoRemove unneeded "active" variable in vgchange_monitoring().
Dave Wysochanski [Mon, 26 Jul 2010 19:03:29 +0000 (19:03 +0000)]
Remove unneeded "active" variable in vgchange_monitoring().

14 years agoClarify help text for vg_mda_count.
Dave Wysochanski [Wed, 21 Jul 2010 19:44:25 +0000 (19:44 +0000)]
Clarify help text for vg_mda_count.

14 years agoBuilding without the '--enable-cmirrord' option means that
Jonathan Earl Brassow [Wed, 21 Jul 2010 15:21:24 +0000 (15:21 +0000)]
Building without the '--enable-cmirrord' option means that
CMIRRORD_PIDFILE is not defined.  This makes the build fail.
Therefore, we need to conditionalize the check for cmirrord
based on if CMIRRORD_PIDFILE is defined.

14 years agoDon't fail t-pvcreate-operation-md if mdadm is broken.
Petr Rockai [Wed, 21 Jul 2010 14:12:47 +0000 (14:12 +0000)]
Don't fail t-pvcreate-operation-md if mdadm is broken.

14 years agoIt's not enough to check for the kernel module in the case of cluster
Jonathan Earl Brassow [Wed, 21 Jul 2010 13:40:21 +0000 (13:40 +0000)]
It's not enough to check for the kernel module in the case of cluster
mirrors, we must also check that the log daemon (cmirrord) is running.
The log module can be auto-loaded, but the daemon cannot be
"auto-started".  Failing to check for the daemon produces cryptic
messages that customers have a hard time deciphering.  (The system
messages do report that the log daemon is not running, but people
don't seem to find this message easily.)

Here are examples of what is printed when the module is available,
but the log daemon has not been started.

[root@bp-01 LVM2]# lvcreate -m1 -l1 -n lv vg
  Shared cluster mirrors are not available.

[root@bp-01 LVM2]# lvcreate -m1 -l1 -n lv vg -v
    Setting logging type to disk
    Finding volume group "vg"
    Archiving volume group "vg" metadata (seqno 3).
    Creating logical volume lv
    Executing: /sbin/modprobe dm-log-userspace
    Cluster mirror log daemon is not running
  Shared cluster mirrors are not available.
    Creating volume group backup "/etc/lvm/backup/vg" (seqno 4).

14 years agoupdate configure
Alasdair Kergon [Wed, 21 Jul 2010 12:54:21 +0000 (12:54 +0000)]
update configure

14 years ago[REGEX] calculate dfa states on demand
Joe Thornber [Wed, 21 Jul 2010 12:09:12 +0000 (12:09 +0000)]
[REGEX] calculate dfa states on demand

14 years ago[REGEX] remove the state_queue structure.
Joe Thornber [Wed, 21 Jul 2010 12:02:51 +0000 (12:02 +0000)]
[REGEX] remove the state_queue structure.

Instead we just have a 'next' field in the dfa_state.

14 years ago[REGEX] factor _calc_state() out of _calc_states()
Joe Thornber [Wed, 21 Jul 2010 12:00:53 +0000 (12:00 +0000)]
[REGEX] factor _calc_state() out of _calc_states()

14 years ago[REGEX] reduce the number of charset nodes that are produced
Joe Thornber [Wed, 21 Jul 2010 11:58:49 +0000 (11:58 +0000)]
[REGEX] reduce the number of charset nodes that are produced

14 years ago[REGEX] another matcher_t test with a larger set of regexes, only interested in the...
Joe Thornber [Wed, 21 Jul 2010 11:52:46 +0000 (11:52 +0000)]
[REGEX] another matcher_t test with a larger set of regexes, only interested in the fingerprint

14 years ago[REPORT-GENERATORS] cut down stylsheet.css to what we actually use
Joe Thornber [Wed, 21 Jul 2010 10:00:38 +0000 (10:00 +0000)]
[REPORT-GENERATORS] cut down stylsheet.css to what we actually use

14 years ago[REGEX] add a fingerprinting facility to allow test code to compare dfas
Joe Thornber [Tue, 20 Jul 2010 15:32:07 +0000 (15:32 +0000)]
[REGEX] add a fingerprinting facility to allow test code to compare dfas

14 years ago[UNIT-TEST] test for recent dm_bit_and() function
Joe Thornber [Tue, 20 Jul 2010 15:28:22 +0000 (15:28 +0000)]
[UNIT-TEST] test for recent dm_bit_and() function

14 years ago[UNIT-TESTS] add test for the recent dm_bitset_equal() function
Joe Thornber [Tue, 20 Jul 2010 15:26:43 +0000 (15:26 +0000)]
[UNIT-TESTS] add test for the recent dm_bitset_equal() function

14 years agoAdd a unit test for the recent changes to dm_bit_get_next()
Joe Thornber [Tue, 20 Jul 2010 15:25:39 +0000 (15:25 +0000)]
Add a unit test for the recent changes to dm_bit_get_next()

14 years agoWire the regex tests up to the reports
Joe Thornber [Tue, 20 Jul 2010 15:21:32 +0000 (15:21 +0000)]
Wire the regex tests up to the reports

14 years agoMove tests from old-tests/regex to unit-tests/regex. unit-tests will
Joe Thornber [Tue, 20 Jul 2010 15:18:57 +0000 (15:18 +0000)]
Move tests from old-tests/regex to unit-tests/regex.  unit-tests will
contain tests that currently work.

14 years agoReport generators for unit tests and memory checks. Configure with
Joe Thornber [Tue, 20 Jul 2010 14:38:44 +0000 (14:38 +0000)]
Report generators for unit tests and memory checks.  Configure with
--enable-testing.

14 years agoFix for bug 614164: No check for existing name when splitting mirror
Jonathan Earl Brassow [Tue, 13 Jul 2010 22:24:39 +0000 (22:24 +0000)]
Fix for bug 614164: No check for existing name when splitting mirror

The user could use the same name as an existing LV when specifying a
name for an LV split off from a mirror.  This causes all sorts of
issues.

14 years agoFix reversal of LV list before performing a split mirror.
Jonathan Earl Brassow [Tue, 13 Jul 2010 22:04:36 +0000 (22:04 +0000)]
Fix reversal of LV list before performing a split mirror.

When splitting off mirror images from a mirror, we always take
LVs from the end of a list.  For example, if the mirror sub-devices
are lv_mimage_[012], we should select lv_mimage_2 if splitting off
one image.  However, lv_mimage_0 was being selected instead.

The problem came from calling '_move_removable_mimages_to_end'
when it was unnecessary to do so.  When the user /does/ specify
specific devices to be removed, this function properly moved the
appropriate LVs to the end of the list for extraction.  However,
if the user /doesn't/ give any specific PVs, the function should
do nothing.  '_move_removable_mimages_to_end' was keying off of
whether 'removable_pvs' was NULL or not and this value was
improperly being populated with the set of all available PVs.
This was causing '_move_removable_mimages_to_end' to completely
reverse the list, which in turn caused us to extract the
hithertofore front-of-the-list LVs.

14 years agoFix for bug 612311: Split of linear provides no error msg
Jonathan Earl Brassow [Tue, 13 Jul 2010 21:53:07 +0000 (21:53 +0000)]
Fix for bug 612311: Split of linear provides no error msg

An unhandled condition allowed the command to terminate
cleanly without a warning.  Added a check for the
'--splitmirrors' argument to allow execution to the lower
level function that has the check to see if the user is
trying to split a linear device.  You should now see a
message if you try to use --splitmirrors on a linear device.

14 years agoFix for bugs: 612248 & 612291 Split mirror issues
Jonathan Earl Brassow [Tue, 13 Jul 2010 21:48:16 +0000 (21:48 +0000)]
Fix for bugs: 612248 & 612291 Split mirror issues

The main problem with these bugs was that the newly split
off LV was not being suspended properly.  This meant that
the memlock count was not being balanced, the DM devices
were not being renamed, and some DM devices which should
have been removed were not.

I've also renamed some of the variables and added comments
to make things clearer as to what is going on.  (I can break
this patch in two if it means easier review.)

14 years agoMinor man page updates related to metadataignore and vgmetadatacopies.
Dave Wysochanski [Tue, 13 Jul 2010 15:04:23 +0000 (15:04 +0000)]
Minor man page updates related to metadataignore and vgmetadatacopies.

pvchange: Add --metadataignore description
vgchange: Fix minor formatting
pvcreate: Update metadataignore description to refer to pvchange
lvm.conf: Refer to pvcreate and pvchange for metadata options.

14 years agoAdd dm_create_lockfile to libdm to handle pidfiles for all daemons.
Fabio M. Di Nitto [Tue, 13 Jul 2010 13:51:01 +0000 (13:51 +0000)]
Add dm_create_lockfile to libdm to handle pidfiles for all daemons.
Switch dmeventd to use dm_create_lockfile and drop duplicate code.
Allow clvmd pidfile to be configurable.
Switch cmirrord and clvmd to use dm_create_lockfile.

14 years agoMore comment updates in lvm2app.h.
Dave Wysochanski [Mon, 12 Jul 2010 18:29:31 +0000 (18:29 +0000)]
More comment updates in lvm2app.h.

14 years agoUpdate comments about memory handling in lvm2app.h.
Dave Wysochanski [Mon, 12 Jul 2010 18:12:23 +0000 (18:12 +0000)]
Update comments about memory handling in lvm2app.h.

14 years agoAddendum for previous patch - show VG/LV name everywhere so the messages
Peter Rajnoha [Mon, 12 Jul 2010 12:38:35 +0000 (12:38 +0000)]
Addendum for previous patch - show VG/LV name everywhere so the messages
are consistent.

14 years agoAdd more verbose messages while checking volume_list and hosttags settings.
Peter Rajnoha [Mon, 12 Jul 2010 11:37:49 +0000 (11:37 +0000)]
Add more verbose messages while checking volume_list and hosttags settings.

This should bring less confusion when there are some settings left and
people just forgot about it and then they run into problems. These messages
should give them a hint of what's really going on.

14 years agoFailed to test for the case where a log was requested to be removed
Jonathan Earl Brassow [Fri, 9 Jul 2010 17:57:51 +0000 (17:57 +0000)]
Failed to test for the case where a log was requested to be removed
even though there was no log.  A simple run through the in-tree test
suite would have caught this.  :(

-               if (lv_is_mirrored(detached_log_lv) &&
+               if (detached_log_lv && lv_is_mirrored(detached_log_lv) &&

Also, made some cosmetic changes suggested by kabi after my last check-in
(e.g. s/return 0/return_0/ and adding an error message).

14 years agoUpdate WHATS_NEW
Dave Wysochanski [Fri, 9 Jul 2010 17:01:11 +0000 (17:01 +0000)]
Update WHATS_NEW

14 years agoAdd log_error when strdup fails in {vg|lv}_change_tag().
Dave Wysochanski [Fri, 9 Jul 2010 16:57:44 +0000 (16:57 +0000)]
Add log_error when strdup fails in {vg|lv}_change_tag().

Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
14 years agoRemove unnecessary list of includes in liblvm files.
Dave Wysochanski [Fri, 9 Jul 2010 16:57:34 +0000 (16:57 +0000)]
Remove unnecessary list of includes in liblvm files.

Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
14 years agoUse __attribute__ consistently throughout.
Alasdair Kergon [Fri, 9 Jul 2010 15:34:40 +0000 (15:34 +0000)]
Use __attribute__ consistently throughout.

14 years agoFix redundant declarations and always compile with -Wredundant-decls.
Alasdair Kergon [Fri, 9 Jul 2010 15:26:41 +0000 (15:26 +0000)]
Fix redundant declarations and always compile with -Wredundant-decls.

14 years agoRemove superfluous fn prototypes.
Alasdair Kergon [Fri, 9 Jul 2010 15:21:10 +0000 (15:21 +0000)]
Remove superfluous fn prototypes.

14 years agoFinish fix for bug 607347: failing both redundant mirror log legs...
Jonathan Earl Brassow [Fri, 9 Jul 2010 15:08:12 +0000 (15:08 +0000)]
Finish fix for bug 607347: failing both redundant mirror log legs...

A previous check-in added logic to handle the case where both images
of a mirrored log failed.  It solved the problem by simply removing
the log entirely - leaving the parent mirror with a 'core' log.  This
worked for most cases.  However, if there was a small delay between
the failures of the two mirrored log devices, the mirror would hang,
LVM would hang, and no additional LVM commands could be issued.

When the first leg of the log fails, it signals the need for repair.
Before 'lvconvert --repair' is run by dmeventd, the second leg fails.
'lvconvert' would see both devices as failed and try to remove the
log entirely.  When it came time to suspend the parent mirror to
update the configuration, the suspend would hang because it couldn't
get any I/O through the mirrored log, which was plugged waiting for
corrective action.  The solution is to replace the log with an error
target to clear any pending writes before removing it.  This allows
the parent mirror to suspend and make the proper changes.

14 years agoPass metadataignore to pv_create, pv_setup, _mda_setup, and add_mda.
Dave Wysochanski [Thu, 8 Jul 2010 18:24:29 +0000 (18:24 +0000)]
Pass metadataignore to pv_create, pv_setup, _mda_setup, and add_mda.

Pass metadataignore through PV creation / setup paths.
As a result of this cleanup, we can remove the unnecessary setting
of mda_ignore bits inside pvcreate_single(), after call to pv_create.
For now, just set metadataignore to '0' in some places.  This is
equivalent to the prior functionality, although the 0 is given
by the caller not hardcoded in _mda_setup() call.

Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
14 years agoInit mda->list in mda_copy.
Dave Wysochanski [Thu, 8 Jul 2010 17:41:46 +0000 (17:41 +0000)]
Init mda->list in mda_copy.

This patch should be no functional change as all callers initialize
mda->list.

14 years agoFix format string from patch apply mistake
Zdenek Kabelac [Thu, 8 Jul 2010 14:47:46 +0000 (14:47 +0000)]
Fix format string from patch apply mistake

14 years agoRevert previous commit as it would return also for incorrect syntax.
Zdenek Kabelac [Thu, 8 Jul 2010 14:29:26 +0000 (14:29 +0000)]
Revert previous commit as it would return also for incorrect syntax.

14 years agoUpdate for dmsetup
Zdenek Kabelac [Thu, 8 Jul 2010 13:35:55 +0000 (13:35 +0000)]
Update for dmsetup

14 years agoSet return value 0 for 'dmsetup -c -o help'
Zdenek Kabelac [Thu, 8 Jul 2010 13:31:03 +0000 (13:31 +0000)]
Set return value 0 for 'dmsetup -c -o help'

14 years agoSmall update of memlock debug messages.
Zdenek Kabelac [Thu, 8 Jul 2010 13:05:27 +0000 (13:05 +0000)]
Small update of memlock debug messages.
Gives slightly better alligned lines for reading.

14 years agoDo not log backtrace in valid _lv_resume() code path
Zdenek Kabelac [Thu, 8 Jul 2010 12:24:04 +0000 (12:24 +0000)]
Do not log backtrace in valid _lv_resume() code path

14 years agoMinor optimalization of _test_word.
Zdenek Kabelac [Thu, 8 Jul 2010 12:16:16 +0000 (12:16 +0000)]
Minor optimalization of _test_word.
Skip ffs() if  (test >> bit) is 0.

14 years agoCleanups for configure:
Zdenek Kabelac [Thu, 8 Jul 2010 12:02:48 +0000 (12:02 +0000)]
Cleanups for configure:
 Indent updates.
 Use AC_HELP_STRING for help string.
 Start help string with lower letter.
 Add [] around some default values i.e. [TYPE=internal].
 Skip some "" around shell assigment when not needed.
 Fix typo --with-device-gid=UID string.

14 years agoShorten prompt for pvchange and vgextend.
Dave Wysochanski [Wed, 7 Jul 2010 21:30:07 +0000 (21:30 +0000)]
Shorten prompt for pvchange and vgextend.

14 years agoAdd --force to pvchange, and allow override of prompt involving metadataignore.
Dave Wysochanski [Wed, 7 Jul 2010 19:14:57 +0000 (19:14 +0000)]
Add --force to pvchange, and allow override of prompt involving metadataignore.

Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
14 years agoAdd prompt if using --metadataignore argument with vgmetadatacopies.
Dave Wysochanski [Wed, 7 Jul 2010 19:02:50 +0000 (19:02 +0000)]
Add prompt if using --metadataignore argument with vgmetadatacopies.

When using vgmetadatacopies value other than "umanaged" (0), prompt
the user if the usage of --metadataignore would change the value of
vgmetadatacopies.  The main 2 cases are:
1) pvchange --metadataignore
2) vgextend --metadataignore

We leave the prompt check in the tools, and do not change anything
if the user says 'n'.

Examples:
vgextend --metadataignore y vgtest /dev/loop0
Setting metadataignore will override preferred number of copies of VG vgtest metadata.
Are you sure? [y/n]: y
  No physical volume label read from /dev/loop0
  Physical volume "/dev/loop0" successfully created
  Volume group "vgtest" successfully extended

pvchange --metadataignore y /dev/loop3
Setting metadataignore on /dev/loop3 will override preferred number of copies of VG vgtest metadata.
Are you sure? [y/n]: y
  WARNING: Changing preferred number of copies of VG vgtest metadata from 3 to 2
  Physical volume "/dev/loop3" changed
  1 physical volume changed / 0 physical volumes not changed

Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
14 years agoAdd warning to vgextend and pvchange if metadataignore given on cmdline.
Dave Wysochanski [Wed, 7 Jul 2010 18:59:45 +0000 (18:59 +0000)]
Add warning to vgextend and pvchange if metadataignore given on cmdline.

Warn the user then change the value of vg_mda_copies.

Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
14 years agoTest failed commit of mda on new pv - failed vgextend.
Dave Wysochanski [Wed, 7 Jul 2010 14:43:57 +0000 (14:43 +0000)]
Test failed commit of mda on new pv - failed vgextend.

Test the auto-repair capability when we fail committing to an mda
on a new pv adding to a vg.  This test should fail until we fix
the auto-repair in this case.

14 years agoUse "nowatch" udev rule for known inappropriate devices.
Peter Rajnoha [Wed, 7 Jul 2010 11:22:46 +0000 (11:22 +0000)]
Use "nowatch" udev rule for known inappropriate devices.

For now, this is just a precaution. Normally, all the other (non-dm) rules
should check DM_UDEV_DISABLE_OTHER_RULES_FLAG and therefore avoid setting
any inotify watches as well. But let's make sure.

Support for final assignment of the "nowatch" rule (the use of ":=") will
appear in next udev release, v160. This should also work in previous udev
versions but the setting won't be sealed so any further OPTIONS="watch" will
always prevail there.

We may want to add more specific "nowatch" rules later if needed.

14 years agoAdjust auto-metadata repair and caching logic to try to cope with empty mdas.
Alasdair Kergon [Wed, 7 Jul 2010 02:53:16 +0000 (02:53 +0000)]
Adjust auto-metadata repair and caching logic to try to cope with empty mdas.

- If a PV contained empty mdas, the auto-recovery code was not kicking in.
- The 'inconsistent' state was getting lost when metadata was cached so
  recovery didn't kick in.  But leave the behaviour alone when using
  precommitted metadata because of a warning in a confusing FIXME.

In my testing, pvs and vgs didn't repair inconsistent metadata like they
used to do.  (How many other tools fail similarly now?)

And there should be no need to cache inconsistent metadata because it is
supposed to get repaired under the protection of a write lock immediately it is
discovered.

This code is in need of a redesign based on first principles.
I still see bugs in this code and this commit is risky.

14 years agopost-release
Alasdair Kergon [Wed, 7 Jul 2010 02:37:28 +0000 (02:37 +0000)]
post-release

14 years ago.
Alasdair Kergon [Wed, 7 Jul 2010 02:24:05 +0000 (02:24 +0000)]
.

14 years agofix code in 2nd mda unignore loop to match 1st loop
Alasdair Kergon [Tue, 6 Jul 2010 20:09:38 +0000 (20:09 +0000)]
fix code in 2nd mda unignore loop to match 1st loop

14 years agos/flags/mda/
Alasdair Kergon [Tue, 6 Jul 2010 17:29:50 +0000 (17:29 +0000)]
s/flags/mda/

14 years agoshorten mesg
Alasdair Kergon [Tue, 6 Jul 2010 17:27:32 +0000 (17:27 +0000)]
shorten mesg

14 years agofix jumbled args in 'Adjusting' message
Alasdair Kergon [Tue, 6 Jul 2010 17:26:08 +0000 (17:26 +0000)]
fix jumbled args in 'Adjusting' message

14 years agoFix for bug 607347: failing both redundant mirror log legs...
Jonathan Earl Brassow [Tue, 6 Jul 2010 17:02:03 +0000 (17:02 +0000)]
Fix for bug 607347: failing both redundant mirror log legs...

Rather than attempting to remove all the images of a mirrored
log volume via remove_mirror_images, simply remove the log
if all its devices have failed.

Taka was the first to report that there is still an outstanding
issue with handling this case.  I've managed to reproduce it
only very rarely, and am still working on identifying the problem.
Failing to handle the problem rarely is better than not handling
the scenario at all, so I'm checking this in.

14 years agopre-release
Alasdair Kergon [Tue, 6 Jul 2010 16:49:38 +0000 (16:49 +0000)]
pre-release

14 years agoFix dmlosetup snprintf %llu compiler warning.
Alasdair Kergon [Mon, 5 Jul 2010 22:56:31 +0000 (22:56 +0000)]
Fix dmlosetup snprintf %llu compiler warning.

14 years agoRandomly select which mdas to use or ignore.
Alasdair Kergon [Mon, 5 Jul 2010 22:23:15 +0000 (22:23 +0000)]
Randomly select which mdas to use or ignore.
Add some missing standard configure.in checks.

14 years agoAdd parentheses to some libdevmapper.h macro arguments.
Alasdair Kergon [Mon, 5 Jul 2010 22:22:43 +0000 (22:22 +0000)]
Add parentheses to some libdevmapper.h macro arguments.

14 years agoAdd printf format attributes to yes_no_prompt & dm_{sn,as}printf and fix a calle
Alasdair Kergon [Fri, 2 Jul 2010 21:16:50 +0000 (21:16 +0000)]
Add printf format attributes to yes_no_prompt & dm_{sn,as}printf and fix a calle

14 years ago.
Petr Rockai [Fri, 2 Jul 2010 17:44:17 +0000 (17:44 +0000)]
.

14 years agoMinor changes to man pages for --metadataignore.
Dave Wysochanski [Fri, 2 Jul 2010 17:05:22 +0000 (17:05 +0000)]
Minor changes to man pages for --metadataignore.

Move the definition from pvchange to pvcreate - the location of
other metadata options.

14 years agoremove unneeded header
Alasdair Kergon [Fri, 2 Jul 2010 10:25:16 +0000 (10:25 +0000)]
remove unneeded header

14 years agoAlways pass unsuspended dm devices through persistent filter to other filters.
Alasdair Kergon [Fri, 2 Jul 2010 02:09:57 +0000 (02:09 +0000)]
Always pass unsuspended dm devices through persistent filter to other filters.
Move test for suspended dm devices ahead of other filters.

14 years agoFix another segfault in clvmd -R if no response from daemon received.
Milan Broz [Thu, 1 Jul 2010 21:46:09 +0000 (21:46 +0000)]
Fix another segfault in clvmd -R if no response from daemon received.

Missed the same problem in another function...

14 years agoRemove superfluous suspended device counter from clvmd.
Milan Broz [Thu, 1 Jul 2010 21:23:47 +0000 (21:23 +0000)]
Remove superfluous suspended device counter from clvmd.

Moreover, in current mirror handling, when it calls activate
on removed but suspended detached log this counter drops below zero
and confuses debug log.

14 years agoFix lvm shell crash when input is entirely whitespace. (Xinwei Hu)
Alasdair Kergon [Thu, 1 Jul 2010 11:04:58 +0000 (11:04 +0000)]
Fix lvm shell crash when input is entirely whitespace.  (Xinwei Hu)

14 years agoMove dmeventd man page from install_lvm2 to install_device-mapper. (1.02.50)
Alasdair Kergon [Thu, 1 Jul 2010 10:57:03 +0000 (10:57 +0000)]
Move dmeventd man page from install_lvm2 to install_device-mapper. (1.02.50)

14 years agoRestore the "removemissing" behaviour of lvconvert --repair --use-policies.
Petr Rockai [Thu, 1 Jul 2010 10:10:52 +0000 (10:10 +0000)]
Restore the "removemissing" behaviour of lvconvert --repair --use-policies.

14 years agoUpdate metadata-balance test for --vgmetadatacopies 0.
Dave Wysochanski [Wed, 30 Jun 2010 22:22:00 +0000 (22:22 +0000)]
Update metadata-balance test for --vgmetadatacopies 0.

Should be equivalent to "unmanaged".

14 years ago.
Petr Rockai [Wed, 30 Jun 2010 21:58:13 +0000 (21:58 +0000)]
.

14 years agoMaintain memlock balance in clvmd.
Petr Rockai [Wed, 30 Jun 2010 21:40:27 +0000 (21:40 +0000)]
Maintain memlock balance in clvmd.

When a mirror is being downconverted in a cluster, a series of suspends and
resumes is executed.

With the change to using UUIDs in dev_manager instead of names, the behaviour
has changed with regards to including an _mlog in the deptree of a logical
volume. In the old (pre-UUID-enabled) code, the _mlog would appear in a deptree
of any volume purely based on a name match: a linear volume foo would include
foo_mlog in its dependencies if that happened to exist. This behaviour was
fixed and the mlog is now only included for mirrors.

By a coincidence, this mlog bug had been hiding a different bug in clvmd. When
a mirror is being dismantled (and converted to a linear volume), it is first
suspended as a whole, then later resumed in parts. Nevertheless, the overall
memlock balance is maintained in this operation. The problem kicks in, because
even though the mirror log was suspended as part of the mirror, when the
dismantled mirror is resumed again, it is no longer a mirror and therefore the
mirror log stays suspended. This would not be a problem in itself, since
_delete_lv (from metadata/mirror.c) is called on it subsequently, which does an
activate/deactivate cycle and removes the LV. The activate/deactivate cycle
correctly prompts clvmd to resume the device: however, in doing this, it will
issue an unpaired resume operation (the suspend that caused the mirror log to
be suspended is paired with resuming the dismantled mirror later). We have
concluded that the path in clvmd should never affect memlock_count, since there
should never be an unmatched explicit suspend preceding this resume.

14 years agoFix --[vg]metadatacopies arg processing
Alasdair Kergon [Wed, 30 Jun 2010 20:21:03 +0000 (20:21 +0000)]
Fix --[vg]metadatacopies arg processing

14 years agoimprove vgmetadatacopies unmanaged message
Alasdair Kergon [Wed, 30 Jun 2010 20:03:52 +0000 (20:03 +0000)]
improve vgmetadatacopies unmanaged message

14 years agoCheck for missing_pv in vg_remove loop.
Dave Wysochanski [Wed, 30 Jun 2010 19:55:43 +0000 (19:55 +0000)]
Check for missing_pv in vg_remove loop.

If a pv is missing, we should just skip it rather than checking the
device size and failing the vgremove.

14 years agomore mda ignore cleanups
Alasdair Kergon [Wed, 30 Jun 2010 19:28:35 +0000 (19:28 +0000)]
more mda ignore cleanups

14 years agoRefactor vg_remove_check to place pv removal into separate function.
Dave Wysochanski [Wed, 30 Jun 2010 18:03:52 +0000 (18:03 +0000)]
Refactor vg_remove_check to place pv removal into separate function.

14 years agomore metadataignore message/code cleanup
Alasdair Kergon [Wed, 30 Jun 2010 17:13:05 +0000 (17:13 +0000)]
more metadataignore message/code cleanup

14 years ago Update partial mode warning message.
Alasdair Kergon [Wed, 30 Jun 2010 16:43:09 +0000 (16:43 +0000)]
  Update partial mode warning message.

14 years agorevert that
Alasdair Kergon [Wed, 30 Jun 2010 14:54:29 +0000 (14:54 +0000)]
revert that

14 years agosuppress useless compiler warning
Alasdair Kergon [Wed, 30 Jun 2010 14:52:29 +0000 (14:52 +0000)]
suppress useless compiler warning

14 years agopost-release
Alasdair Kergon [Wed, 30 Jun 2010 14:50:32 +0000 (14:50 +0000)]
post-release

14 years agoOnly attempt to guarantee 1 mda ignored if there's at least one mda in the vg.
Dave Wysochanski [Wed, 30 Jun 2010 14:48:07 +0000 (14:48 +0000)]
Only attempt to guarantee 1 mda ignored if there's at least one mda in the vg.

14 years ago Only attempt to guarantee 1 mda ignored if there's at least one mda in the vg.
Alasdair Kergon [Wed, 30 Jun 2010 14:27:40 +0000 (14:27 +0000)]
 Only attempt to guarantee 1 mda ignored if there's at least one mda in the vg.

14 years agopre-release
Alasdair Kergon [Wed, 30 Jun 2010 14:04:15 +0000 (14:04 +0000)]
pre-release

14 years agoFix vgremove to allow removal of VG with missing PVs. (2.02.52)
Milan Broz [Wed, 30 Jun 2010 14:01:39 +0000 (14:01 +0000)]
Fix vgremove to allow removal of VG with missing PVs. (2.02.52)

14 years agoImprove various log messages.
Alasdair Kergon [Wed, 30 Jun 2010 13:51:11 +0000 (13:51 +0000)]
Improve various log messages.

14 years agoUpdate nightly tests for vgextend --metadataignore.
Dave Wysochanski [Wed, 30 Jun 2010 13:11:12 +0000 (13:11 +0000)]
Update nightly tests for vgextend --metadataignore.

14 years agoUpdate nightly tests for vgextend --metadataignore.
Dave Wysochanski [Wed, 30 Jun 2010 13:04:59 +0000 (13:04 +0000)]
Update nightly tests for vgextend --metadataignore.

14 years agoAdd --metadataignore to vgextend and man pages.
Dave Wysochanski [Wed, 30 Jun 2010 13:03:48 +0000 (13:03 +0000)]
Add --metadataignore to vgextend and man pages.

14 years agoAdd pvmetadatacopies to lvm.conf and pvcreate man pages.
Dave Wysochanski [Wed, 30 Jun 2010 12:49:28 +0000 (12:49 +0000)]
Add pvmetadatacopies to lvm.conf and pvcreate man pages.

14 years agoUpdate pvcreate tests for --metadataignore.
Dave Wysochanski [Wed, 30 Jun 2010 12:17:55 +0000 (12:17 +0000)]
Update pvcreate tests for --metadataignore.

14 years agoAdd --metadataignore to pvcreate.
Dave Wysochanski [Wed, 30 Jun 2010 12:17:24 +0000 (12:17 +0000)]
Add --metadataignore to pvcreate.

Allow metadataignore flag to be passed in to pvcreate.
Ideally, more refactoring of the mda allocation / initialization
is warranted, but for now, we just add another parameter to 'add_mda'
to take an existing mda ignored flag.  We need to do this or pv_write
loses the state of the mda 'ignored' flag before copying and writing
to disk.

14 years agoImprove logging for setting --vgmetadatacopies.
Dave Wysochanski [Tue, 29 Jun 2010 22:41:28 +0000 (22:41 +0000)]
Improve logging for setting --vgmetadatacopies.

Example of logging:
metadata/metadata.c:1127     Setting mda_copies = 3 on vg vgtest
metadata/pv_manip.c:296         /dev/loop2 0:      0     25: NULL(0:0)
metadata/pv_manip.c:296         /dev/loop3 0:      0     25: NULL(0:0)
metadata/pv_manip.c:296         /dev/loop4 0:      0     25: NULL(0:0)
metadata/metadata.c:1072     Adjusting ignored mdas on vg vgtest, vg_mda_used_count=5, vg_mda_copies=3
metadata/metadata.c:1015     Setting ignore flag for 2 mdas on vg vgtest
metadata/metadata.c:4151     Setting mda ignored flag for metadata_locn /dev/loop2.
metadata/metadata.c:4151     Setting mda ignored flag for metadata_locn /dev/loop3.

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