]> sourceware.org Git - lvm2.git/log
lvm2.git
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.

13 years agoFix --mirrorlog mirrored.
Alasdair Kergon [Sat, 11 Jun 2011 12:55:31 +0000 (12:55 +0000)]
Fix --mirrorlog mirrored.

13 years agoMajor pvmove fix to issue ioctls in the correct order when multiple LVs
Alasdair Kergon [Sat, 11 Jun 2011 00:03:06 +0000 (00:03 +0000)]
Major pvmove fix to issue ioctls in the correct order when multiple LVs
are affected by the move.  (Currently it's possible for I/O to become
trapped between suspended devices amongst other problems.

The current fix was selected so as to minimise the testing surface.  I
hope eventually to replace it with a cleaner one that extends the
deptree code.

Some lvconvert scenarios still suffer from related problems.

13 years agoFix kernel version test (RHEL: 2.6.32-123).
Milan Broz [Thu, 9 Jun 2011 19:48:26 +0000 (19:48 +0000)]
Fix kernel version test (RHEL: 2.6.32-123).

13 years agoFix mirrored stripe reduction.
Milan Broz [Thu, 9 Jun 2011 19:38:56 +0000 (19:38 +0000)]
Fix mirrored stripe reduction.

Patch adds check for stripe not only in direct
LV segment but also in mirror image segment.

This prevents bugs like:

# lvcreate -i2 -l10 -n lv vg_test
# lvconvert -m1 -i1 vg_test/lv

# lvreduce -f -l1 vg_test/lv
  WARNING: Reducing active logical volume to 4.00 MiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
  Reducing logical volume lv to 4.00 MiB
  Segment extent reduction 9 not divisible by #stripes 2
  Logical volume lv successfully resized

# lvremove -f vg_test
  Segment extent reduction 1 not divisible by #stripes 2
  LV segment lv:0-4294967295 is incorrectly listed as being used by LV lv_mimage_0
  Internal error: LV segments corrupted in lv_mimage_0.

13 years agoValidate mirror segments size
Milan Broz [Thu, 9 Jun 2011 19:36:16 +0000 (19:36 +0000)]
Validate mirror segments size

Currently some operation with striped mirrors lead
to corrupted metadata, this patch just add detection of such
situation.

Example:
# lvcreate -i2 -l10 -n lvs vg_test
# lvconvert -m1 vg_test/lvs

# lvreduce -f -l1 vg_test/lvs
  Reducing logical volume lvs to 4.00 MiB
  Segment extent reduction 9not divisible by #stripes 2
  Logical volume lvs successfully resized

# lvremove vg_test/lvs
  Segment extent reduction 1not divisible by #stripes 2
  LV segment lvs:0-4294967295 is incorrectly listed as being used by LV lvs_mimage_0
  Internal error: LV segments corrupted in lvs_mimage_0.

13 years agoFix extent rounding for striped segments.
Milan Broz [Thu, 9 Jun 2011 19:34:49 +0000 (19:34 +0000)]
Fix extent rounding for striped segments.

We should never remove more extents than requested by user,
so round up to next stripe boundary during lvreduce.

Also this fixes round to zero sized LV bug:

# lvcreate -i2 -I 64k -l10 -n lvs vg_test
# lvreduce -f -l1 vg_test/lvs
  Rounding size (1 extents) down to stripe boundary size for segment (0 extents)
  WARNING: Reducing active logical volume to 0
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
  Reducing logical volume lvs to 0
  Failed to suspend lvs

13 years agoFix kernel version parsing in tests, use common function.
Milan Broz [Thu, 9 Jun 2011 18:58:00 +0000 (18:58 +0000)]
Fix kernel version parsing in tests, use common function.

13 years agoFix another occurrence of linux kernel version check.
Milan Broz [Thu, 9 Jun 2011 15:52:59 +0000 (15:52 +0000)]
Fix another occurrence of linux kernel version check.

13 years agoAccept kernel version 3 (3.0-rc and similar).
Milan Broz [Thu, 9 Jun 2011 15:07:40 +0000 (15:07 +0000)]
Accept kernel version 3 (3.0-rc and similar).

13 years agoFix topology test.
Milan Broz [Thu, 9 Jun 2011 14:26:47 +0000 (14:26 +0000)]
Fix topology test.

Kernel version is misparsed in Fedora rawhide, just test sysfs file.

SCSI_DEBUG_DEV is no longer exported, use provided file instead.

13 years agoFix create_temp_name to replace any '/' found in the hostname with '?'.
Peter Rajnoha [Wed, 8 Jun 2011 08:49:53 +0000 (08:49 +0000)]
Fix create_temp_name to replace any '/' found in the hostname with '?'.

There's a possibility someone will use the '/' in the hostname. Since we
generate a temporary file name (path) including the hostname, any '/' would
be ambiguous.

We can always set such hostname using 'sethostname' from unistd.h. But the
'hostname' command already includes the check and removes the '/' char.
However, some old versions still allow that.
See: https://bugzilla.redhat.com/show_bug.cgi?id=711445.

Since this is only a temporary name and the possibility of this error is
quite negligible, we don't need any complex escape sequence here, just a
simple char replace.

13 years agomissing space in mesg
Alasdair Kergon [Mon, 6 Jun 2011 12:08:42 +0000 (12:08 +0000)]
missing space in mesg

13 years agoAlso check in the pe_start API test that the disks have not been touched.
Petr Rockai [Sat, 4 Jun 2011 21:55:25 +0000 (21:55 +0000)]
Also check in the pe_start API test that the disks have not been touched.

13 years agoAdd an API test that shows how to find a value of pe_start for a VG without
Petr Rockai [Sat, 4 Jun 2011 21:46:34 +0000 (21:46 +0000)]
Add an API test that shows how to find a value of pe_start for a VG without
actually creating the VG on-disk.

13 years agoFix a few compile warnings.
Peter Rajnoha [Fri, 3 Jun 2011 09:05:30 +0000 (09:05 +0000)]
Fix a few compile warnings.

clvmd-command.c:84:2: warning: implicit declaration of function ‘init_test’
lvm-functions.c:141:3: warning: too many arguments for format

13 years agoUse append but except query for dlm locks:-)
Milan Broz [Thu, 2 Jun 2011 09:08:16 +0000 (09:08 +0000)]
Use append but except query for dlm locks:-)

13 years agoAlways use append to file in lvmdump (selinux policy - no file truncation).
Milan Broz [Thu, 2 Jun 2011 09:02:03 +0000 (09:02 +0000)]
Always use append to file in lvmdump (selinux policy - no file truncation).

Workaround dmsetup ls --tree (terminal ioctl for width).
(Until isatty() will be allowed by selinux policy.)

13 years agoUse /var/run/lvm for lvmetad socket.
Milan Broz [Thu, 2 Jun 2011 08:58:05 +0000 (08:58 +0000)]
Use /var/run/lvm for lvmetad socket.

13 years agoPropagate test mode to clvmd to skip activation and changes to held locks.
Alasdair Kergon [Wed, 1 Jun 2011 21:16:55 +0000 (21:16 +0000)]
Propagate test mode to clvmd to skip activation and changes to held locks.

13 years agoDefer writing PV labels to vg_write.
Alasdair Kergon [Wed, 1 Jun 2011 19:29:31 +0000 (19:29 +0000)]
Defer writing PV labels to vg_write.
Store label_sector only in struct physical_volume.

13 years agoReport sector containing label in verbose message.
Alasdair Kergon [Wed, 1 Jun 2011 19:26:38 +0000 (19:26 +0000)]
Report sector containing label in verbose message.

13 years agoPermit --available with lvcreate so non-snapshot LVs need not be activated.
Alasdair Kergon [Wed, 1 Jun 2011 19:21:03 +0000 (19:21 +0000)]
Permit --available with lvcreate so non-snapshot LVs need not be activated.

13 years agoReport sector containing label in verbose message.
Alasdair Kergon [Wed, 1 Jun 2011 15:30:36 +0000 (15:30 +0000)]
Report sector containing label in verbose message.

13 years agoClarify error message when unable to convert an LV into a snapshot of an LV.
Peter Rajnoha [Wed, 1 Jun 2011 12:24:15 +0000 (12:24 +0000)]
Clarify error message when unable to convert an LV into a snapshot of an LV.

13 years agoUse new dev_open_readonly fn to prevent opening devices for read-write when not neces...
Peter Rajnoha [Sat, 28 May 2011 09:48:14 +0000 (09:48 +0000)]
Use new dev_open_readonly fn to prevent opening devices for read-write when not necessary.

Before, we used vg_write_lock_held call to determnine the way a device is
opened. Unfortunately, this opened many devices in RW mode when it was not
really necessary. With the OPTIONS+="watch" rule used in the udev rules,
this could fire numerous events while closing such devices (and it caused
useless scans from within udev rules in return).

A common bug we hit with this was with the lvremove command which was unable
to remove the LV since it was being opened from within the udev rules. This
patch should minimize such situations (at least with respect to LVM handling
of devices).

Though there's still a possibility someone will open a device 'outside' in
parallel and fire the event based on the watch rule when closing a device
once opened for RW.

13 years agoFirst draft of a document describing how we will automatically and
Petr Rockai [Wed, 25 May 2011 21:43:12 +0000 (21:43 +0000)]
First draft of a document describing how we will automatically and
incrementally assemble (possibly multi-component, like LVM) storage devices.

13 years agotest
Alasdair Kergon [Tue, 24 May 2011 14:12:36 +0000 (14:12 +0000)]
test

13 years agotest
Alasdair Kergon [Tue, 24 May 2011 14:10:55 +0000 (14:10 +0000)]
test

13 years agotest
Alasdair Kergon [Tue, 24 May 2011 14:10:55 +0000 (14:10 +0000)]
test

13 years agotest
Alasdair Kergon [Tue, 24 May 2011 14:09:41 +0000 (14:09 +0000)]
test

13 years agotest
Alasdair Kergon [Tue, 24 May 2011 14:09:41 +0000 (14:09 +0000)]
test

13 years agotest
Alasdair Kergon [Tue, 24 May 2011 14:01:32 +0000 (14:01 +0000)]
test

13 years agotest
Alasdair Kergon [Tue, 24 May 2011 14:00:57 +0000 (14:00 +0000)]
test

13 years agotest
Alasdair Kergon [Tue, 24 May 2011 13:59:16 +0000 (13:59 +0000)]
test

13 years agotest
Alasdair Kergon [Tue, 24 May 2011 13:54:37 +0000 (13:54 +0000)]
test

13 years agotest
Alasdair Kergon [Tue, 24 May 2011 13:53:26 +0000 (13:53 +0000)]
test

13 years agotest
Alasdair Kergon [Tue, 24 May 2011 13:53:26 +0000 (13:53 +0000)]
test

13 years agoAdd and use dev_open_readonly and variations.
Alasdair Kergon [Tue, 24 May 2011 13:36:57 +0000 (13:36 +0000)]
Add and use dev_open_readonly and variations.

13 years agoMention code layout in lvmetad DESIGN.
Petr Rockai [Mon, 23 May 2011 14:46:48 +0000 (14:46 +0000)]
Mention code layout in lvmetad DESIGN.

13 years agoDo not log a superfluous stack message when the lv is properly processed
Zdenek Kabelac [Thu, 19 May 2011 13:59:22 +0000 (13:59 +0000)]
Do not log a superfluous stack message when the lv is properly processed

13 years agoMore work on the common daemon framework. Make things compile, too.
Petr Rockai [Sun, 15 May 2011 11:02:29 +0000 (11:02 +0000)]
More work on the common daemon framework. Make things compile, too.

13 years agoMore scavenging of common daemon code, this time the clvmd local socket setup
Petr Rockai [Fri, 13 May 2011 09:34:12 +0000 (09:34 +0000)]
More scavenging of common daemon code, this time the clvmd local socket setup
sequence.

13 years agoStart filling in some of the common daemon (server-side) functionality, taking
Petr Rockai [Fri, 13 May 2011 08:45:46 +0000 (08:45 +0000)]
Start filling in some of the common daemon (server-side) functionality, taking
dmeventd code as a starting point.

13 years agoFirst go at the lvmetad client-side interface.
Petr Rockai [Fri, 13 May 2011 08:17:26 +0000 (08:17 +0000)]
First go at the lvmetad client-side interface.

13 years agoFirst stab at the prototypes of the daemon-common functionality (to be
Petr Rockai [Fri, 13 May 2011 08:07:28 +0000 (08:07 +0000)]
First stab at the prototypes of the daemon-common functionality (to be
eventually shared by dmeventd, lvmetad and clvmd).

13 years agoInitial design document for LVMetaD, building on the draft from June of last
Petr Rockai [Thu, 12 May 2011 17:49:46 +0000 (17:49 +0000)]
Initial design document for LVMetaD, building on the draft from June of last
year, incorporating the outcomes of today's and yesterday's discussions.

13 years agoDo not issue an error message when unable to remove .cache on read-only fs.
Peter Rajnoha [Thu, 12 May 2011 12:42:47 +0000 (12:42 +0000)]
Do not issue an error message when unable to remove .cache on read-only fs.

13 years agoUpdate WHATS_NEW.
Petr Rockai [Sat, 7 May 2011 15:52:50 +0000 (15:52 +0000)]
Update WHATS_NEW.

13 years agoRewrite vgreduce --removemissing --force, using existing primitives:
Petr Rockai [Sat, 7 May 2011 15:52:16 +0000 (15:52 +0000)]
Rewrite vgreduce --removemissing --force, using existing primitives:
lv_remove_with_dependencies and mirror_remove_missing (the latter coming from
lvconvert). Remove substantial amount of legacy code.

13 years agoAdd a new entry point in the mirror lvconvert code, for removing missing mirror
Petr Rockai [Sat, 7 May 2011 13:56:13 +0000 (13:56 +0000)]
Add a new entry point in the mirror lvconvert code, for removing missing mirror
images and/or logs, without attempting any further actions.

13 years agoWhen glibc needs buffers for line buffering of input and output buffers, it
Petr Rockai [Sat, 7 May 2011 13:50:11 +0000 (13:50 +0000)]
When glibc needs buffers for line buffering of input and output buffers, it
allocates these buffers in such way it adds memory page for each such buffer
and size of unlock memory check will mismatch by 1 or 2 pages.

This happens when we print or read lines without '\n' so these buffers are
used. To avoid this extra allocation, use setvbuf to set these bufffers ahead.

Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com>
Reviewed-by: Milan Broz <mbroz@redhat.com>
Reviewed-by: Petr Rockai <prockai@redhat.com>
13 years agoMake vg_mark_partial_lvs also clear existing PARTIAL_LV flags, so it can be
Petr Rockai [Sat, 7 May 2011 13:32:05 +0000 (13:32 +0000)]
Make vg_mark_partial_lvs also clear existing PARTIAL_LV flags, so it can be
issued repeatedly on the same VG, keeping the PARTIAL_LV flags up to date.

13 years agotest update without WHATS_NEW to check it gives warning now
Alasdair Kergon [Fri, 29 Apr 2011 19:06:17 +0000 (19:06 +0000)]
test update without WHATS_NEW to check it gives warning now

13 years agotest
Alasdair Kergon [Fri, 29 Apr 2011 19:05:11 +0000 (19:05 +0000)]
test

13 years agotest
Alasdair Kergon [Fri, 29 Apr 2011 19:01:59 +0000 (19:01 +0000)]
test

13 years agotest
Alasdair Kergon [Fri, 29 Apr 2011 19:01:59 +0000 (19:01 +0000)]
test

13 years agotest
Alasdair Kergon [Fri, 29 Apr 2011 18:57:09 +0000 (18:57 +0000)]
test

13 years agotest
Alasdair Kergon [Fri, 29 Apr 2011 18:56:35 +0000 (18:56 +0000)]
test

13 years agotest
Alasdair Kergon [Fri, 29 Apr 2011 18:48:50 +0000 (18:48 +0000)]
test

13 years agotest
Alasdair Kergon [Fri, 29 Apr 2011 18:43:31 +0000 (18:43 +0000)]
test

13 years agotest
Alasdair Kergon [Fri, 29 Apr 2011 18:41:46 +0000 (18:41 +0000)]
test

13 years agotest
Alasdair Kergon [Fri, 29 Apr 2011 18:40:55 +0000 (18:40 +0000)]
test

13 years agotest
Alasdair Kergon [Fri, 29 Apr 2011 18:40:14 +0000 (18:40 +0000)]
test

13 years agopost-release
Alasdair Kergon [Fri, 29 Apr 2011 17:05:20 +0000 (17:05 +0000)]
post-release

13 years agowake buildbot
Alasdair Kergon [Fri, 29 Apr 2011 16:27:09 +0000 (16:27 +0000)]
wake buildbot

13 years agocommands/toolcontext.c:578: warning: ‘udev_dir’ may be used uninitialized in...
Alasdair Kergon [Fri, 29 Apr 2011 16:23:39 +0000 (16:23 +0000)]
commands/toolcontext.c:578: warning: â€˜udev_dir’ may be used uninitialized in this function
commands/toolcontext.c:576: warning: â€˜udev_dir_len’ may be used uninitialized in this function

Bogus - suppress them.

13 years agopre-release
Alasdair Kergon [Fri, 29 Apr 2011 16:12:21 +0000 (16:12 +0000)]
pre-release

13 years agopre-release clean-ups
Alasdair Kergon [Fri, 29 Apr 2011 00:21:13 +0000 (00:21 +0000)]
pre-release clean-ups

13 years agoAdd missing cleanup for vgimportclone script
Zdenek Kabelac [Thu, 28 Apr 2011 22:17:06 +0000 (22:17 +0000)]
Add missing cleanup for vgimportclone script

13 years agoclean up critical section patch
Alasdair Kergon [Thu, 28 Apr 2011 20:29:59 +0000 (20:29 +0000)]
clean up critical section patch

13 years agoMissing space in debug message
Zdenek Kabelac [Thu, 28 Apr 2011 19:59:17 +0000 (19:59 +0000)]
Missing space in debug message

13 years agoSet pv_min_size to 2048KB to exclude floppy drives.
Alasdair Kergon [Thu, 28 Apr 2011 17:33:34 +0000 (17:33 +0000)]
Set pv_min_size to 2048KB to exclude floppy drives.
Previously was 512.

13 years agoAdd missing pkg_config_init check with --enable-udev_sync.
Alasdair Kergon [Thu, 28 Apr 2011 16:54:32 +0000 (16:54 +0000)]
Add missing pkg_config_init check with --enable-udev_sync.

13 years agoAdjust pvmove man page wording.
Alasdair Kergon [Thu, 28 Apr 2011 16:22:47 +0000 (16:22 +0000)]
Adjust pvmove man page wording.

Add missing --alloc anywhere to example and mention that snapshots and
mirrors can't be moved.

13 years agoUncomment obtain_device_list_from_udev setting in lvm.conf.
Peter Rajnoha [Tue, 26 Apr 2011 09:09:24 +0000 (09:09 +0000)]
Uncomment obtain_device_list_from_udev setting in lvm.conf.

Just for consistency with other settings we already have in lvm.conf.

13 years agoautoreconf
Peter Rajnoha [Fri, 22 Apr 2011 12:13:05 +0000 (12:13 +0000)]
autoreconf

13 years agoUse common udev_get_dev_dir() to get current device directory managed by udev.
Peter Rajnoha [Fri, 22 Apr 2011 12:07:35 +0000 (12:07 +0000)]
Use common udev_get_dev_dir() to get current device directory managed by udev.

13 years agoObtain device list from udev by default if LVM2 is compiled with udev support.
Peter Rajnoha [Fri, 22 Apr 2011 12:05:32 +0000 (12:05 +0000)]
Obtain device list from udev by default if LVM2 is compiled with udev support.

Also, add a new 'obtain_device_list_from_udev' setting to lvm.conf with which
we can turn this feature on or off if needed.

If set, the cache of block device nodes with all associated symlinks
will be constructed out of the existing udev database content.
This avoids using and opening any inapplicable non-block devices or
subdirectories found in the device directory. This setting is applied
to udev-managed device directory only, other directories will be scanned
fully. LVM2 needs to be compiled with udev support for this setting to
take effect. N.B. Any device node or symlink not managed by udev in
udev directory will be ignored with this setting on.

13 years agoMove common libudev code to lvm-wrappers.[ch].
Peter Rajnoha [Fri, 22 Apr 2011 11:59:59 +0000 (11:59 +0000)]
Move common libudev code to lvm-wrappers.[ch].

...so we can use it throughout.

13 years agoRequire libudev >= 143 when compiling with udev support.
Peter Rajnoha [Fri, 22 Apr 2011 11:56:41 +0000 (11:56 +0000)]
Require libudev >= 143 when compiling with udev support.

Old versions of libudev < 143 were experimental and unstable. Require recent
and stable versions only (version 143 is old enough anyway).

13 years agoDisable nightly test for vgimportclone until proper fix is made.
Dave Wysochanski [Thu, 21 Apr 2011 19:06:00 +0000 (19:06 +0000)]
Disable nightly test for vgimportclone until proper fix is made.

This fails on lenny buildslave for some reason.
For now disable the vgimportclone part of the test until proper fix.

Let the first part of the test still run though, which shows pvs working
with duplicate pvs.

13 years agoAdd vgimportclone symlink for nightly test.
Dave Wysochanski [Thu, 21 Apr 2011 17:42:58 +0000 (17:42 +0000)]
Add vgimportclone symlink for nightly test.

13 years agoAdd nightly test for vgimportclone and querying of vgnames with duplicate pvs.
Dave Wysochanski [Thu, 21 Apr 2011 17:03:38 +0000 (17:03 +0000)]
Add nightly test for vgimportclone and querying of vgnames with duplicate pvs.

Related to rhbz 697959.

This test fails prior to these two commits:
commit af112eb2c9a62c5d794df920218bd3ee291d5b25
Author: Zdenek Kabelac <zkabelac@redhat.com>
Date:   Thu Apr 21 13:15:26 2011 +0000

    Skip check for NULL before dm_free

    dm_free makes this test itself.

commit 91419c3e86bf9666aab2aa631faae1ba73e8d745
Author: Zdenek Kabelac <zkabelac@redhat.com>
Date:   Thu Apr 21 13:13:40 2011 +0000

    Fix use of released vgname and vgid

13 years agoSkip check for NULL before dm_free
Zdenek Kabelac [Thu, 21 Apr 2011 13:15:26 +0000 (13:15 +0000)]
Skip check for NULL before dm_free

dm_free makes this test itself.

13 years agoFix use of released vgname and vgid
Zdenek Kabelac [Thu, 21 Apr 2011 13:13:40 +0000 (13:13 +0000)]
Fix use of released vgname and vgid

Avoid using of already released memory when duplicated MDA is found.

As get_pv_from_vg_by_id() may call lvmcache_label_scan() use the local copy
of the vgname and vgid on the stack as vginfo may dissapear and code was
then accessing garbage in memory.

i.e.  pvs  /dev/loop0
(when /dev/loop0 and /dev/loop1 has same MDA content)

Invalid read of size 1
   at 0x523C986: dm_hash_lookup (hash.c:325)
   by 0x440C8C: vginfo_from_vgname (lvmcache.c:399)
   by 0x4605C0: _create_vg_text_instance (format-text.c:1882)
   by 0x46140D: _text_create_text_instance (format-text.c:2243)
   by 0x47EB49: _vg_read (metadata.c:2887)
   by 0x47FBD8: vg_read_internal (metadata.c:3231)
   by 0x477594: get_pv_from_vg_by_id (metadata.c:344)
   by 0x45F07A: _get_pv_if_in_vg (format-text.c:1400)
   by 0x45F0B9: _populate_pv_fields (format-text.c:1414)
   by 0x45F40F: _text_pv_read (format-text.c:1493)
   by 0x480431: _pv_read (metadata.c:3500)
   by 0x4802B2: pv_read (metadata.c:3462)
 Address 0x652ab80 is 0 bytes inside a block of size 4 free'd
   at 0x4C2756E: free (vg_replace_malloc.c:366)
   by 0x442277: _free_vginfo (lvmcache.c:963)
   by 0x44235E: _drop_vginfo (lvmcache.c:992)
   by 0x442B23: _lvmcache_update_vgname (lvmcache.c:1165)
   by 0x443449: lvmcache_update_vgname_and_id (lvmcache.c:1358)
   by 0x443C07: lvmcache_add (lvmcache.c:1492)
   by 0x46588C: _text_read (text_label.c:271)
   by 0x466A65: label_read (label.c:289)
   by 0x4413FC: lvmcache_label_scan (lvmcache.c:635)
   by 0x4605AD: _create_vg_text_instance (format-text.c:1881)
   by 0x46140D: _text_create_text_instance (format-text.c:2243)
   by 0x47EB49: _vg_read (metadata.c:2887)

Add testing script

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