]> sourceware.org Git - lvm2.git/log
lvm2.git
14 years agoUpdate WHATS_NEW.
Petr Rockai [Mon, 9 Aug 2010 14:06:03 +0000 (14:06 +0000)]
Update WHATS_NEW.

14 years agoNever scan internal LVM devices.
Petr Rockai [Mon, 9 Aug 2010 14:05:16 +0000 (14:05 +0000)]
Never scan internal LVM devices.

14 years ago[REGEX] fix a long standing off-by-one error (found by valgrind-pool)
Joe Thornber [Mon, 9 Aug 2010 10:58:27 +0000 (10:58 +0000)]
[REGEX] fix a long standing off-by-one error (found by valgrind-pool)

14 years ago[MM] Make valgrind aware of the pool allocators
Joe Thornber [Mon, 9 Aug 2010 10:56:01 +0000 (10:56 +0000)]
[MM] Make valgrind aware of the pool allocators

./configure with --enable-valgrind-pool to enable this.

14 years ago[REGEX] fix bug in matcher that was causing segfault with chars of 0x80 and over.
Joe Thornber [Mon, 9 Aug 2010 10:30:52 +0000 (10:30 +0000)]
[REGEX] fix bug in matcher that was causing segfault with chars of 0x80 and over.

14 years ago[REGEX] Parse regexes that contain chars with value > 0x80
Joe Thornber [Mon, 9 Aug 2010 10:29:42 +0000 (10:29 +0000)]
[REGEX] Parse regexes that contain chars with value > 0x80

This is a long standing issue.  Fixed by casting a char value to
unsigned char before using it as an index into a bitset.

14 years ago[REGEX] add a unit test for regexes containing chars with value over x80
Joe Thornber [Mon, 9 Aug 2010 10:27:31 +0000 (10:27 +0000)]
[REGEX] add a unit test for regexes containing chars with value over x80

14 years ago[REGEX] matcher_t unit test now takes a flag to turn on fingerprinting
Joe Thornber [Mon, 9 Aug 2010 10:23:54 +0000 (10:23 +0000)]
[REGEX] matcher_t unit test now takes a flag to turn on fingerprinting

14 years agoFix for bug 619221 - log device splitting regression
Jonathan Earl Brassow [Fri, 6 Aug 2010 15:38:32 +0000 (15:38 +0000)]
Fix for bug 619221 - log device splitting regression

An incorrect fix on July 13, 2010 for an annoyance has caused a regression.
The offending check-in was part of the 2.02.71 release of LVM.  That
check-in caused any PVs specified on the command line to be ignored when
performing a mirror split.

This patch reverses the aforementioned check-in (solving the regressions)
and posits a new solution to the list reversal problem.  The original
problem was that we would always take the lowest mimage LVs from a mirror
when performing a split, but what we really want is to take the highest
mimage LVs.  This patch accomplishes that by working through the list in
reverse order - choosing the higher numbered mimages first.  (This also
reduces the amount of processing necessary.)

Signed-off-by: Jonathan Brassow <jbrassow@redhat.com>
Reviewed-by: Takahiro Yasui <takahiro.yasui@hds.com>
14 years agoA misunderstanding of the return value of 'dm_bit' has been causing a data
Jonathan Earl Brassow [Wed, 4 Aug 2010 18:18:18 +0000 (18:18 +0000)]
A misunderstanding of the return value of 'dm_bit' has been causing a data
corruption bug in cmirror.  'dm_bit' is only ever used as a boolean operation
within LVM, but it can return a range of values.  If the bit is set, a power of
2 is returned.  If the bit is unset, 0 is returned.

'log_test_bit' (a function in the cluster mirror log daemon code) has switched
to using the dm bit operations in rhel6.  There are two places in the daemon
code where 'log_test_bit' is not used merely as a boolean, but rather the
return value is used as the return value for the log functions 'is_clean' and
'in_sync' - having assumed that 'dm_bit' was returning 0 or 1 only.

One place the 'in_sync' function is utilized is in 'dm_rh_get_state' - a
function that informs the mirroring code how to treat I/O and which devices to
read/write from.  'dm_rh_get_state' was checking if the return value of
'in_sync' was 1 to determine if the region was DM_RH_CLEAN.  Since 'dm_bit'
(and by extension 'log_test_bit' and 'in_sync') was returning powers of 2,
DM_RH_CLEAN was rarely being reported as it should have been.  Thinking the
region was out-of-sync, the mirroring code would write only to the primary
device.  When the primary device was failed, all of those writes were lost -
leaving the entire mirror corrupted.

14 years agoReduce severity of the "mirror transient status" log message (this was never
Petr Rockai [Wed, 4 Aug 2010 15:55:03 +0000 (15:55 +0000)]
Reduce severity of the "mirror transient status" log message (this was never
intended to be a log_error).

14 years agoRequire logical volume(s) to be explicitly named for lvconvert --merge.
Mike Snitzer [Tue, 3 Aug 2010 20:22:31 +0000 (20:22 +0000)]
Require logical volume(s) to be explicitly named for lvconvert --merge.

14 years agoAvoid changing aligned pe_start as a side-effect of very verbose logging.
Mike Snitzer [Tue, 3 Aug 2010 18:19:42 +0000 (18:19 +0000)]
Avoid changing aligned pe_start as a side-effect of very verbose logging.

14 years agoUse built-in rules for device aliases: block/ < dm- < disk/ < mapper/ < other.
Peter Rajnoha [Tue, 3 Aug 2010 13:39:27 +0000 (13:39 +0000)]
Use built-in rules for device aliases: block/ < dm- < disk/ < mapper/ < other.

14 years agoFix 'void*' arithmetic warnings in dbg_malloc.c.
Zdenek Kabelac [Tue, 3 Aug 2010 13:24:07 +0000 (13:24 +0000)]
Fix 'void*' arithmetic warnings in dbg_malloc.c.
Use more readable char[idx] access instead of *char+idx access.

14 years agoFix 'void*' arithmetic warning in some functions from libdm-iface.c.
Zdenek Kabelac [Tue, 3 Aug 2010 13:16:21 +0000 (13:16 +0000)]
Fix 'void*' arithmetic warning in some functions from libdm-iface.c.

14 years agoFix const warning in dev_manager_info() and _dev_manager_lv_rmnodes().
Zdenek Kabelac [Tue, 3 Aug 2010 13:13:01 +0000 (13:13 +0000)]
Fix const warning in dev_manager_info() and _dev_manager_lv_rmnodes().

14 years agoFix constness warning in archive_file structure from archive.c.
Zdenek Kabelac [Tue, 3 Aug 2010 13:09:21 +0000 (13:09 +0000)]
Fix constness warning in archive_file structure from archive.c.

14 years agoUse void parameter for function definition.
Zdenek Kabelac [Tue, 3 Aug 2010 13:06:35 +0000 (13:06 +0000)]
Use void parameter for function definition.

14 years agoWait for node creation before displaying debug info in dmsetup.
Zdenek Kabelac [Tue, 3 Aug 2010 13:04:32 +0000 (13:04 +0000)]
Wait for node creation before displaying debug info in dmsetup.

Readahead check needs to see created node - so wait till udev gets in sync.

14 years agoClean generated files .exported_symbols_generated, example.conf for distclean.
Zdenek Kabelac [Tue, 3 Aug 2010 13:00:45 +0000 (13:00 +0000)]
Clean generated files .exported_symbols_generated, example.conf for distclean.

14 years agoFix return status 0 for "dmsetup info -c -o help".
Zdenek Kabelac [Tue, 3 Aug 2010 12:56:00 +0000 (12:56 +0000)]
Fix return  status 0 for "dmsetup info -c -o help".

Solution returns success for _report_init when help is passed,
and caller needs to check for _report existance.

14 years agoAdd check for kernel semaphore support and disable udev_sync if not available.
Peter Rajnoha [Tue, 3 Aug 2010 07:56:03 +0000 (07:56 +0000)]
Add check for kernel semaphore support and disable udev_sync if not available.

udev_sync feature requires semaphores (part of System V IPC) to be configured
in kernel (CONFIG_SYSVIPC). Check whether it is supported and if not, give
a warning message and disable udev synchronisation code automatically to
avoid any further error states and associated problems.

One should use the kernel with System V IPC support enabled or libdevmapper
with udev_sync feature disabled.

14 years agoTaka's fix for handling failure of all mirrored log devices and
Jonathan Earl Brassow [Mon, 2 Aug 2010 21:07:40 +0000 (21:07 +0000)]
Taka's fix for handling failure of all mirrored log devices and
all but one mirror leg.

<patch header>
To handle a double failure of a mirrored log, Jon's two patches are
commited, however, lvconvert command can't still handle an error
when mirror leg and mirrored log got failure at the same time.

  [Patch]: Handle both devices of a mirrored log failing (bug 607347)
  posted: https://www.redhat.com/archives/lvm-devel/2010-July/msg00009.html
  commit: https://www.redhat.com/archives/lvm-devel/2010-July/msg00027.html

  [Patch]: Handle both devices of a mirrored log failing (bug 607347) -
           additional fix
  posted: https://www.redhat.com/archives/lvm-devel/2010-July/msg00093.html
  commit: https://www.redhat.com/archives/lvm-devel/2010-July/msg00101.html

In the second patch, the target type of mirrored log is replaced with
error target when remove_log is set to 1, but this procedure should be
also used in other cases such as the number of mirror leg is 1. This
patch relocates the procedure to the main path.

In addition, I added following three changes.

- Removed tmp_orphan_lvs handling procedure
  It seems that _delete_lv() can handle detached_log_lv properly
  without adding mirror legs in mirrored log to tmp_orphan_lvs.
  Therefore, I removed the procedure.

- Removed vg_write()/vg_commit()
  Metadata is saved by vg_write()/vg_commit() just after detached_log_lv
  is handled. Therefore, I removed vg_write()/vg_commit().

- With Jon's second patch, we think that we don't have to call
  remove_mirror_log() in _lv_update_mirrored_log() because will be
  handled remove_mirror_images() in _lvconvert_mirrors_repaire().
</patch header>

Signed-off-by: Takahiro Yasui <takahiro.yasui@hds.com>
Reviewed-by: Petr Rockai <prockai@redhat.com>
Signed-off-by: Jonathan Brassow <jbrassow@redhat.com>
14 years agoDisallow mirrored logs in cluster mirrors.
Jonathan Earl Brassow [Mon, 2 Aug 2010 19:03:45 +0000 (19:03 +0000)]
Disallow mirrored logs in cluster mirrors.

The cluster log daemon (cmirrord) is not multi-threaded and
can handle only one request at a time.  When a log is stacked
on top of a mirror (which itself contains a 'core' log), it
creates a situation that cannot be solved without threading.

When the top level mirror issues a "resume", the log daemon
attempts to read from the log device to retrieve the log
state.  However, the log is a mirror which, before issuing
the read, attempts to determine the 'sync' status of the
region of the mirror which is to be read.  This sync status
request cannot be completed by the daemon because it is
blocked on a read I/O to the very mirror requesting the
sync status.

14 years agoFix lib.device-mapper to wait for include too
Alasdair Kergon [Mon, 2 Aug 2010 13:56:34 +0000 (13:56 +0000)]
Fix lib.device-mapper to wait for include too

14 years agoMinor speedup of lock test -
Zdenek Kabelac [Mon, 2 Aug 2010 13:23:01 +0000 (13:23 +0000)]
Minor speedup of lock test -
Instead of waiting for flock process finish kill the flock process.

14 years agoAdd shell function to trim spaces.
Zdenek Kabelac [Mon, 2 Aug 2010 13:20:50 +0000 (13:20 +0000)]
Add shell function to trim spaces.
Test values as "$val" to avoid weird results when spaces are in output.

14 years agoUsing count=0 is sufficient for creation of zeroed files.
Zdenek Kabelac [Mon, 2 Aug 2010 13:18:42 +0000 (13:18 +0000)]
Using count=0 is sufficient for creation of zeroed files.

14 years agoVisually better align lines which are executed as a result of true
Zdenek Kabelac [Mon, 2 Aug 2010 13:18:01 +0000 (13:18 +0000)]
Visually better align lines which are executed as a result of true
or false result of previous command.

14 years agoDo not use VPATH in include/Makefile
Zdenek Kabelac [Mon, 2 Aug 2010 13:17:03 +0000 (13:17 +0000)]
Do not use VPATH in include/Makefile

14 years agorevert the 'Base' change - that wasn't the cause of the problem
Alasdair Kergon [Mon, 2 Aug 2010 12:57:04 +0000 (12:57 +0000)]
revert the 'Base' change - that wasn't the cause of the problem

14 years ago Fix exported_symbols generation to use standard compiler arguments.
Alasdair Kergon [Mon, 2 Aug 2010 12:44:21 +0000 (12:44 +0000)]
  Fix exported_symbols generation to use standard compiler arguments.

14 years agoUse #include <> not "" in lvm2app.h which gets installed on the system.
Alasdair Kergon [Mon, 2 Aug 2010 12:23:01 +0000 (12:23 +0000)]
Use #include <> not "" in lvm2app.h which gets installed on the system.

14 years agoMake liblvm.device-mapper wait for include file generation.
Alasdair Kergon [Mon, 2 Aug 2010 12:10:35 +0000 (12:10 +0000)]
Make liblvm.device-mapper wait for include file generation.

14 years agoDrop explicit 'Base' version from exported symbols.
Alasdair Kergon [Sat, 31 Jul 2010 14:13:59 +0000 (14:13 +0000)]
Drop explicit 'Base' version from exported symbols.

14 years agoFix configure to supply DEFAULT_RUN_DIR to Makefiles.
Alasdair Kergon [Sat, 31 Jul 2010 00:43:41 +0000 (00:43 +0000)]
Fix configure to supply DEFAULT_RUN_DIR to Makefiles.

14 years agoFix wrong number of mirror log at allocate policy
Takahiro Yasui [Fri, 30 Jul 2010 17:50:15 +0000 (17:50 +0000)]
Fix wrong number of mirror log at allocate policy

With mirror_log_fault_policy of 'remove' and mirror_image_fault_policy
of 'allocate', the log type of the mirror volume is converted from
'disk' or 'mirrored' to 'core' when all mirror legs but one in a mirror
volume broke.

Keep new_log_count as a number of valid log devices by using log_count
variable for a temporary usage in the first phase of error recovery
in _lvconvert_mirrors_repair().

Signed-off-by: Takahiro Yasui <takahiro.yasui@hds.com>
Reviewed-by: Petr Rockai <prockai@redhat.com>
14 years agoRemove irrelevant comments relating to vg_mda_copies.
Dave Wysochanski [Fri, 30 Jul 2010 16:47:27 +0000 (16:47 +0000)]
Remove irrelevant comments relating to vg_mda_copies.

14 years agopost-release
Alasdair Kergon [Wed, 28 Jul 2010 21:58:08 +0000 (21:58 +0000)]
post-release

14 years ago Never use clvmd singlenode unless explicitly requested with -Isinglenode.
Alasdair Kergon [Wed, 28 Jul 2010 14:01:40 +0000 (14:01 +0000)]
 Never use clvmd singlenode unless explicitly requested with -Isinglenode.

14 years agoChange clvmd to communicate with lvm via a socket in /var/run/lvm. (mbroz)
Alasdair Kergon [Wed, 28 Jul 2010 13:55:42 +0000 (13:55 +0000)]
Change clvmd to communicate with lvm via a socket in /var/run/lvm.   (mbroz)

https://bugzilla.redhat.com/show_bug.cgi?id=614248 [CVE-2010-2526]

14 years agoadd copyright notices to new files
Alasdair Kergon [Wed, 28 Jul 2010 12:20:38 +0000 (12:20 +0000)]
add copyright notices to new files

14 years agoday+1
Alasdair Kergon [Wed, 28 Jul 2010 11:49:42 +0000 (11:49 +0000)]
day+1

14 years ago.
Alasdair Kergon [Wed, 28 Jul 2010 10:44:29 +0000 (10:44 +0000)]
.

14 years agoRevert unsuccessful table load preparation in combined "create, load and resume"...
Peter Rajnoha [Wed, 28 Jul 2010 10:30:28 +0000 (10:30 +0000)]
Revert unsuccessful table load preparation in combined "create, load and resume" scenario.

There was missing "revert" call in _create_and_load_v4 fn while the preparation
for table load ends up with failure in create/load/resume sequence. Otherwise
we could end up with a device being created, but not table-loaded nor resumed.

Even though the table is not loaded and the device is not resumed at this
stage, we still need to synchronize with udev when calling the revert
"remove" ioctl - there's still a remove uevent generated! The "revert"
code does exactly that.

14 years agopre-release
Alasdair Kergon [Tue, 27 Jul 2010 22:52:19 +0000 (22:52 +0000)]
pre-release

14 years ago.
Alasdair Kergon [Tue, 27 Jul 2010 21:57:37 +0000 (21:57 +0000)]
.

14 years agoFix dm_create_lockfile error paths - incorrectly unlinked in-use lockfile.
Alasdair Kergon [Tue, 27 Jul 2010 21:56:14 +0000 (21:56 +0000)]
Fix dm_create_lockfile error paths - incorrectly unlinked in-use lockfile.
(Jan Friesse)

14 years agoDo not create a clustered volume group in t-nomda-missing.
Petr Rockai [Tue, 27 Jul 2010 21:08:32 +0000 (21:08 +0000)]
Do not create a clustered volume group in t-nomda-missing.

14 years agoMake vgck warn about missing PVs.
Petr Rockai [Tue, 27 Jul 2010 20:05:29 +0000 (20:05 +0000)]
Make vgck warn about missing PVs.

14 years agoInitial import of document describing LVM's policies
Jonathan Earl Brassow [Mon, 26 Jul 2010 20:31:53 +0000 (20:31 +0000)]
Initial import of document describing LVM's policies
surrounding device faults/failures.

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.

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