]> sourceware.org Git - lvm2.git/log
lvm2.git
12 years agoman: --activate ay and auto_activation_volume_list
Peter Rajnoha [Fri, 29 Jun 2012 10:40:26 +0000 (12:40 +0200)]
man: --activate ay and auto_activation_volume_list

12 years agocleanup: static volume filter fn, lvm.conf comment
Peter Rajnoha [Fri, 29 Jun 2012 08:28:53 +0000 (10:28 +0200)]
cleanup: static volume filter fn, lvm.conf comment

Change 'lv_passes_volumes_filter' fn back to static as it's not
actually needed in the other code (a remnant from devel version).
Fix lvm.conf comment referencing '--autoactivate' which was finally
decided to be '--activate ay'.

12 years agoalloc: fix raid --alloc anywhere double allocs
Alasdair G Kergon [Thu, 28 Jun 2012 22:26:42 +0000 (23:26 +0100)]
alloc: fix raid --alloc anywhere double allocs

If _alloc_parallel_area for raid devices chooses an area already used
up, it doesn't notice that it has no space left in it and leaves
later code trying to place a zero-length area into the LV.

https://bugzilla.redhat.com/832596

12 years agoWHATS_NEW: update
Alasdair G Kergon [Thu, 28 Jun 2012 22:14:27 +0000 (23:14 +0100)]
WHATS_NEW: update

Update WHATS_NEW.

12 years agoinitscript: call vgchange -aay instead of -aly
Peter Rajnoha [Thu, 28 Jun 2012 10:49:33 +0000 (12:49 +0200)]
initscript: call vgchange -aay instead of -aly

The clmvd init script called "vgchange -aly" before to activate
all VGs in cluster environment. This activated all VGs, no matter
if it was clustered or not.

Auto activation for clustered VGs is not supported yet so the behaviour
of -aay is still the same as before for clustered VGs. However, for
non-clustered VGs, we need to check with the activation/auto_activation_volume_list
whether the VG/LV should be activated on boot or not.

12 years agoconf: add activation/auto_activation_volume_list
Peter Rajnoha [Tue, 26 Jun 2012 10:17:23 +0000 (06:17 -0400)]
conf: add activation/auto_activation_volume_list

12 years agolvcreate: add --activate ay (autoactivate)
Peter Rajnoha [Thu, 28 Jun 2012 08:15:07 +0000 (04:15 -0400)]
lvcreate: add --activate ay (autoactivate)

One can use "lvcreate --aay" to have the newly created volume
activated or not activated based on the activation/auto_activation_volume_list
this way.

Note: -Z/--zero is not compatible with -aay, zeroing is not used in this case!
When using lvcreate -aay, a default warning message is also issued that zeroing
is not done.

12 years agolvchange: add --activate ay (autoactivate)
Peter Rajnoha [Wed, 27 Jun 2012 14:43:20 +0000 (10:43 -0400)]
lvchange: add --activate ay (autoactivate)

The same as for vgchange...

12 years agopvscan: add --activate ay option (autoactivate)
Peter Rajnoha [Wed, 27 Jun 2012 13:35:11 +0000 (09:35 -0400)]
pvscan: add --activate ay option (autoactivate)

Define auto_activation_handler that activates VGs/LVs automatically
based on the activation/auto_activation_volume_list (activating all
volumes by default if the list is not defined).

The autoactivation is done within the pvscan call in 69-dm-lvmetad.rules
that watches for udev events (device appearance/removal).

For now, this works for non-clustered and complete VGs only.

12 years agovgchange: add --activate ay option (autoactivate)
Peter Rajnoha [Wed, 27 Jun 2012 14:21:15 +0000 (10:21 -0400)]
vgchange: add --activate ay option (autoactivate)

Normally, the 'vgchange -ay' activates all volume groups (that pass
the activation/volume_list filter if set).

This call can appear in two scenarios:
 - system boot (so activation within a script in general)
 - manual call on command line (so activaton on user's direct request)

For the former one, we would like to select which VGs should be actually
activated. One can define the list of VGs directly to do that. But that
would require the same list to be provided in all the scripts.

The 'vgchange -aay' will check for the activation/auto_activation_volume_list
in adition and it will activate only those VGs/LVs that pass this
filter (assuming all to be activated if the list is not defined - the
same logic we already have for activation/volume_list).

Init/boot scripts should use this form of activation primarily
(which, anyway, becomes only a fallback now with autoactivation done
on PV appearance in tandem with lvmetad in place).

12 years agoactivate: add autoactivation hooks
Peter Rajnoha [Wed, 27 Jun 2012 12:59:34 +0000 (08:59 -0400)]
activate: add autoactivation hooks

Define an 'activation_handler' that gets called automatically on
PV appearance/disappearance while processing the lvmetad_pv_found
and lvmetad_pv_gone functions that are supposed to update the
lvmetad state based on PV availability state. For now, the actual
support is for PV appearance only, leaving room for PV disappearance
support as well (which is a more complex problem to solve as this
needs to count with possible device stack).

Add a new activation change mode - CHANGE_AAY exposed as
'--activate ay/-aay' argument ('activate automatically').

Factor out the vgchange activation functionality for use in other
tools (like pvscan...).

12 years agoargs: add --activate synonym for --available arg
Peter Rajnoha [Wed, 27 Jun 2012 11:48:31 +0000 (07:48 -0400)]
args: add --activate synonym for --available arg

We're refererring to 'activation' all over the code and we're talking
about 'LVs being activated' all the time so let's use 'activation/activate'
everywhere for clarity and consistency (still providing the old
'available' keyword as a synonym for backward compatibility with
existing environments).

12 years agodiscards: don't discard reconfigured extents
Alasdair G Kergon [Wed, 27 Jun 2012 20:53:02 +0000 (21:53 +0100)]
discards: don't discard reconfigured extents

Update release_lv_segment_area not to discard any PV extents,
as it also gets used when moving extents between LVs.
Instead, call a new function release_and_discard_lv_segment_area() in
the two places where data should be discarded - lv_reduce() and
remove_mirrors_from_segments().

12 years agodiscards: split discard from release_pv_segment
Alasdair G Kergon [Wed, 27 Jun 2012 19:07:04 +0000 (20:07 +0100)]
discards: split discard from release_pv_segment

Separate discard_pv_segment out of release_pv_segment

12 years agoallocation: allow release_lv_segment_area to fail
Alasdair G Kergon [Wed, 27 Jun 2012 18:37:54 +0000 (19:37 +0100)]
allocation: allow release_lv_segment_area to fail

Allow release_lv_segment_area to fail as functions it calls can fail.

12 years agoconfigure: autoreconf
Peter Rajnoha [Thu, 21 Jun 2012 12:43:38 +0000 (08:43 -0400)]
configure: autoreconf

12 years agoudev: udev rules cleanup
Peter Rajnoha [Fri, 22 Jun 2012 09:50:02 +0000 (05:50 -0400)]
udev: udev rules cleanup

Remove executable path detection in udev rules and use sbindir that
is configured, but still provide the original functionality by means
of 'configure --enable-udev-rule-exec-detection'.

Normally, the exec path for the tools called in udev rules should
not differ from the sbindir used, however, there are cases this is
necessary. For example different environments could be assembled
in a way that these path differ for some reason (distribution installer,
initrd ...).

This functionality is kept for compatibility only. Any environment
moving the binaries around and using different paths should be fixed
eventually!

12 years agoconfigure: run directory configuration cleanup
Peter Rajnoha [Thu, 21 Jun 2012 12:41:52 +0000 (08:41 -0400)]
configure: run directory configuration cleanup

There were several hard-coded values for run directory around the code.
Also, some tools are DM specific only, others are LVM specific and there
was no distinction made here before. With this patch applied, we have
this cleaned up a bit (subsystem in brackets, defaults in parentheses):

          [common] configurable PID_DIR     (/var/run)

 lvm      [lvm]    configurable RUN_DIR     (/var/run/lvm)
                   configurable locking dir (/var/lock/lvm)

 clvmd    [lvm]    configurable pid file    (PID_DIR/clvmd.pid)
                   socket                   (RUN_DIR/clvmd.sock)

 lvmetad  [lvm]    configurable pid file    (PID_DIR/lvmetad.pid)
                   socket                   (RUN_DIR/lvmetad.socket)

 dm       [dm]     configurable DM_RUN_DIR  (/var/run)

 cmirrord [dm]     configurable pid file    (PID_DIR/cmirrord.pid)

 dmeventd [dm]     configurable pid file    (PID_DIR/dmeventd.pid)
                   server fifo              (DM_RUN_DIR/dmeventd-server)
                   client fifo              (DM_RUN_DIR/dmeventd-client)

The changes briefly:
  - added configure --with-default-pid-dir
  - added configure --with-default-dm-run-dir
  - added configure --with-lvmetad-pidfile
  - by default, using one common pid directory for everything
    (only lvmetad was not following this before)

12 years agodev-io: open device read-only to obtain readahead value
Peter Rajnoha [Mon, 25 Jun 2012 09:34:21 +0000 (11:34 +0200)]
dev-io: open device read-only to obtain readahead value

There's no need to have the device open RW while obtaining the readahead value.
The RW open used before caused the CHANGE udev event to be generated if the
WATCH udev rule was set for the underlying device (and that is normally the
case both for non-dm and dm devices by default).

This did not cause any problems before since we were not interested in
*underlying* devices. However, with upcoming changes (autoactivation), we're
watching for events on underlying devices marked as PVs and such a spurious
event could cause the autoactivation code to be triggered. So when trying
to deactivate the volume, we could end up with immediate activation just after
that because of the CHANGE event originated in the WATCH udev rule since the
underlying device was open RW during the deactivation process.

Though maybe a better solution would be to completely filter such spurious
events out of the autoactivation process somehow, it's still useful if there
are as least spurious events generated as possible in the system itself.

12 years agocleanup: use dev_t type
Zdenek Kabelac [Thu, 21 Jun 2012 10:55:30 +0000 (12:55 +0200)]
cleanup: use dev_t type

12 years agothin: fix lvconvert error path NULL dereference
Zdenek Kabelac [Tue, 5 Jun 2012 12:55:00 +0000 (14:55 +0200)]
thin: fix lvconvert error path NULL dereference

For printing the name, use given command line parameter.

12 years agolvmetad: check for fid existance
Zdenek Kabelac [Thu, 21 Jun 2012 11:43:55 +0000 (13:43 +0200)]
lvmetad: check for fid existance

Fail to update lvmetad with proper log error message.

12 years agofix: limit preallocate stack size
Zdenek Kabelac [Fri, 22 Jun 2012 09:15:14 +0000 (11:15 +0200)]
fix: limit preallocate stack size

If the user would set bigger reserved stack size then what
is allowed in resources (ulimit -s), then he would get coredump
So avoid coredump and ignore creation of such large stack size
(lvm should work properly, with just 64KB, so the option could
be eliminated).

12 years agofix: use 64bit math for reserved memory
Zdenek Kabelac [Thu, 21 Jun 2012 10:59:14 +0000 (12:59 +0200)]
fix: use 64bit math for reserved memory

If the user specifies number in the range of [4G/1024, 4G>,
the used value would wrap around (32bit math).
So keep the math 64bit.

Note, using such large lvm.conf values is pointless with lvm2.

12 years agocleanup: replace memset with struct initilization
Zdenek Kabelac [Thu, 21 Jun 2012 19:19:28 +0000 (21:19 +0200)]
cleanup: replace memset with struct initilization

Simplifies the code, properly detects too long socket paths,
drops unused parameter.

12 years agokernel docs: Refresh kernel target documentation
Alasdair G Kergon [Thu, 21 Jun 2012 22:48:40 +0000 (23:48 +0100)]
kernel docs: Refresh kernel target documentation

Update the packaged copy of the in-kernel target documentation files.
Adds dm-verity, updates thin provisioning and makes minor corrections
elsewhere.

12 years agocmirrord: add missing checks for kernel_send
Zdenek Kabelac [Tue, 19 Jun 2012 21:28:59 +0000 (23:28 +0200)]
cmirrord: add missing checks for kernel_send

Log errors if kernel_send fails.

12 years agoheaders: add some __attribute__ instrumentation
Zdenek Kabelac [Mon, 25 Oct 2010 07:39:36 +0000 (09:39 +0200)]
headers: add some __attribute__ instrumentation

Use some malloc and strdup instrumentation and warning attributes
and standard systems headers.

12 years agocleanup: use struct initializers instead of memset
Zdenek Kabelac [Fri, 30 Mar 2012 15:17:25 +0000 (17:17 +0200)]
cleanup: use struct initializers instead of memset

No need to call memset if we the language can do that.

12 years agocmirrord: fix cut&paste
Zdenek Kabelac [Tue, 19 Jun 2012 21:47:02 +0000 (23:47 +0200)]
cmirrord: fix cut&paste

12 years agocmirrord: add test for closedir() and close()
Zdenek Kabelac [Tue, 19 Jun 2012 21:37:53 +0000 (23:37 +0200)]
cmirrord: add test for closedir() and close()

12 years agosystemd: Add Documentation references
Peter Rajnoha [Wed, 20 Jun 2012 12:23:50 +0000 (14:23 +0200)]
systemd: Add Documentation references

These documentation references show up in "systemctl status" output.

12 years agoSync filesystem for thin snapshots
Zdenek Kabelac [Tue, 5 Jun 2012 09:26:54 +0000 (11:26 +0200)]
Sync filesystem for thin snapshots

Add missing lockfs option when suspend origin, before thin volume
snapshot is created

12 years agogitignore: Ignore files ending in ~
Alasdair G Kergon [Mon, 11 Jun 2012 15:13:02 +0000 (16:13 +0100)]
gitignore: Ignore files ending in ~

12 years agoveritysetup: Remove code as now in cryptsetup.
Alasdair G Kergon [Mon, 11 Jun 2012 15:12:20 +0000 (16:12 +0100)]
veritysetup: Remove code as now in cryptsetup.

The veritysetup code has moved to the cryptsetup package.
  http://code.google.com/p/cryptsetup/

12 years agorelease: post-release update version
Alasdair G Kergon [Fri, 8 Jun 2012 23:44:01 +0000 (00:44 +0100)]
release: post-release update version

12 years agorelease: WHATS_NEW tidy v2_02_96
Alasdair G Kergon [Fri, 8 Jun 2012 23:29:20 +0000 (00:29 +0100)]
release: WHATS_NEW tidy

12 years agogitignore: Remove redundant test dir entry
Alasdair G Kergon [Fri, 8 Jun 2012 22:34:15 +0000 (23:34 +0100)]
gitignore: Remove redundant test dir entry

12 years agoVERSION: Update for release.
Alasdair G Kergon [Fri, 8 Jun 2012 21:14:30 +0000 (22:14 +0100)]
VERSION: Update for release.

12 years agoWHATS_NEW_DM: Update for release.
Alasdair G Kergon [Fri, 8 Jun 2012 21:13:33 +0000 (22:13 +0100)]
WHATS_NEW_DM: Update for release.

12 years agogitignore: add .swp
Alasdair G Kergon [Fri, 8 Jun 2012 20:53:07 +0000 (21:53 +0100)]
gitignore: add .swp

12 years agodmeventd: Improve comment about repeated DIE msgs
Alasdair G Kergon [Fri, 8 Jun 2012 20:52:02 +0000 (21:52 +0100)]
dmeventd: Improve comment about repeated DIE msgs

12 years agoRename git report from LVM2.git to lvm2.git.
Alasdair G Kergon [Fri, 8 Jun 2012 16:41:43 +0000 (17:41 +0100)]
Rename git report from LVM2.git to lvm2.git.

Update reference in README file.

12 years agoMore .gitignore files for an in-source-tree build.
Alasdair G Kergon [Fri, 8 Jun 2012 15:34:43 +0000 (16:34 +0100)]
More .gitignore files for an in-source-tree build.

Tell git to ignore files generated by a build inside the source tree.

12 years agoAdd .gitignore files for an in-source-tree build.
Alasdair G Kergon [Fri, 8 Jun 2012 15:26:21 +0000 (16:26 +0100)]
Add .gitignore files for an in-source-tree build.

Tell git to ignore files generated by a build inside the source tree.

12 years agoMention old source code web location in README.
Alasdair G Kergon [Thu, 7 Jun 2012 15:20:23 +0000 (16:20 +0100)]
Mention old source code web location in README.

12 years agoUpdate VERSION date.
Alasdair G Kergon [Thu, 7 Jun 2012 14:59:01 +0000 (15:59 +0100)]
Update VERSION date.

12 years agoEdit WHATS_NEW.
Alasdair G Kergon [Thu, 7 Jun 2012 14:14:19 +0000 (15:14 +0100)]
Edit WHATS_NEW.

12 years agoRemove obsolete CVS helper script.
Alasdair G Kergon [Thu, 7 Jun 2012 13:06:01 +0000 (14:06 +0100)]
Remove obsolete CVS helper script.

Remove last_cvs_update.sh now that we're using git.

12 years agoUpdate source code location in README.
Alasdair G Kergon [Thu, 7 Jun 2012 12:48:13 +0000 (13:48 +0100)]
Update source code location in README.

Change CVS to git and mention lvm2-commits list.

12 years agoUpstream source repo move to fedorahosted.org git.
Alasdair G Kergon [Wed, 6 Jun 2012 12:26:46 +0000 (13:26 +0100)]
Upstream source repo move to fedorahosted.org git.

Change version number suffix from -cvs to -git.

12 years agoRemove unsupported udev_get_dev_path libudev call used for checking udev dir.
Peter Rajnoha [Tue, 29 May 2012 08:09:10 +0000 (08:09 +0000)]
Remove unsupported udev_get_dev_path libudev call used for checking udev dir.

With latest changes in the udev, some deprecated functions were removed
from libudev amongst which there was the "udev_get_dev_path" function
we used to compare a device directory used in udev and directore set in
libdevmapper. The "/dev" is hardcoded in udev now (udev version >= 183).

Amongst other changes and from packager's point of view, it's also
important to note that the libudev development library ("libudev-devel")
could now be a part of the systemd development library ("systemd-devel")
because of the udev + systemd merge.

12 years agoFix error path
Zdenek Kabelac [Wed, 23 May 2012 13:02:36 +0000 (13:02 +0000)]
Fix error path

Do not increase nr_filt in case of NULL ret value, since the error path
doesn't handle NULL pointers.

12 years agoMove thin_check_executable to proper section
Zdenek Kabelac [Wed, 23 May 2012 12:59:35 +0000 (12:59 +0000)]
Move thin_check_executable to proper section

It's read from global section.
In-release change, so no what's new

12 years agoPartial activation working, expect success in tests.
Peter Rajnoha [Thu, 17 May 2012 12:03:30 +0000 (12:03 +0000)]
Partial activation working, expect success in tests.

12 years agoRe-enable tests for snapshots of mirrors.
Peter Rajnoha [Thu, 17 May 2012 08:04:11 +0000 (08:04 +0000)]
Re-enable tests for snapshots of mirrors.

12 years agosnaps of mirrors are enabled
Zdenek Kabelac [Wed, 16 May 2012 15:01:06 +0000 (15:01 +0000)]
snaps of mirrors are enabled

12 years agook - that was nice mid-air collision
Zdenek Kabelac [Wed, 16 May 2012 13:09:09 +0000 (13:09 +0000)]
ok - that was nice mid-air collision

12 years agoupdate
Zdenek Kabelac [Wed, 16 May 2012 13:06:18 +0000 (13:06 +0000)]
update

12 years agoRe-enable partial activation of non-thin LVs until it can be fixed. (2.02.90)
Alasdair Kergon [Wed, 16 May 2012 12:50:14 +0000 (12:50 +0000)]
Re-enable partial activation of non-thin LVs until it can be fixed. (2.02.90)
- The test should be checking the LV as a whole, not just individual segments.

12 years agoAdd a (currently failing) test for RHBZ 816672.
Petr Rockai [Wed, 16 May 2012 10:44:36 +0000 (10:44 +0000)]
Add a (currently failing) test for RHBZ 816672.

12 years agoAdd provisions to flag tests that we know will fail, without flagging the build
Petr Rockai [Wed, 16 May 2012 10:43:41 +0000 (10:43 +0000)]
Add provisions to flag tests that we know will fail, without flagging the build
(i.e. an expected failure).

12 years agoSet delay_resume_if_new on deptree snapshot origin.
Alasdair Kergon [Tue, 15 May 2012 21:27:24 +0000 (21:27 +0000)]
Set delay_resume_if_new on deptree snapshot origin.
(Must avoid activating snapshot origin more than once concurrently.)

12 years agoadd major:minor to table size changed debug message
Alasdair Kergon [Tue, 15 May 2012 20:03:12 +0000 (20:03 +0000)]
add major:minor to table size changed debug message

12 years agoindicate when deptree detects but ignores size change in debug msg
Alasdair Kergon [Tue, 15 May 2012 14:10:54 +0000 (14:10 +0000)]
indicate when deptree detects but ignores size change in debug msg

12 years agoRefer to details of snapshot of raid problem.
Alasdair Kergon [Mon, 14 May 2012 16:29:50 +0000 (16:29 +0000)]
Refer to details of snapshot of raid problem.

12 years agoWarn of deadlock risk when using snapshots of mirror segment type.
Alasdair Kergon [Mon, 14 May 2012 16:18:57 +0000 (16:18 +0000)]
Warn of deadlock risk when using snapshots of mirror segment type.

12 years agoFix cling policy not to behave like normal policy if no previous LV seg.
Alasdair Kergon [Fri, 11 May 2012 22:53:13 +0000 (22:53 +0000)]
Fix cling policy not to behave like normal policy if no previous LV seg.
Fix alloc cling to cling to PVs already found with contiguous policy.

12 years agoFix allocation policy loop so it doesn't continue beyond cling using later
Alasdair Kergon [Fri, 11 May 2012 22:19:12 +0000 (22:19 +0000)]
Fix allocation policy loop so it doesn't continue beyond cling using later
policies it shouldn't be using when --alloc cling is specified but no tags
are defined.

12 years agoAppend _TO_LVSEG to names of internal A_CONTIGUOUS and A_CLING flags.
Alasdair Kergon [Fri, 11 May 2012 18:59:01 +0000 (18:59 +0000)]
Append _TO_LVSEG to names of internal A_CONTIGUOUS and A_CLING flags.
Remove some unnecesary prev_lvseg checks.

12 years agoAlways include debug mesg when cling to allocated is set.
Alasdair Kergon [Fri, 11 May 2012 15:32:19 +0000 (15:32 +0000)]
Always include debug mesg when cling to allocated is set.

12 years agoRefactor _has_matching_pv_tag to provide a fn that takes PV structs.
Alasdair Kergon [Fri, 11 May 2012 15:26:30 +0000 (15:26 +0000)]
Refactor _has_matching_pv_tag to provide a fn that takes PV structs.

12 years agoMore comments on metadata area types.
Peter Rajnoha [Thu, 10 May 2012 11:03:07 +0000 (11:03 +0000)]
More comments on metadata area types.

12 years agoComment on auxiliary metadata areas.
Peter Rajnoha [Thu, 10 May 2012 10:37:49 +0000 (10:37 +0000)]
Comment on auxiliary metadata areas.

12 years agoAdd missing pkg init
Zdenek Kabelac [Thu, 10 May 2012 08:54:33 +0000 (08:54 +0000)]
Add missing pkg init

12 years agoUncomment allocation section to match style of rest of file.
Alasdair Kergon [Thu, 10 May 2012 00:18:49 +0000 (00:18 +0000)]
Uncomment allocation section to match style of rest of file.

12 years agoRemove VG/PV used in the test.
Peter Rajnoha [Wed, 9 May 2012 14:44:59 +0000 (14:44 +0000)]
Remove VG/PV used in the test.

12 years agoFix division by zero if PV with zero PE count is used during vgcfgrestore.
Peter Rajnoha [Wed, 9 May 2012 12:30:56 +0000 (12:30 +0000)]
Fix division by zero if PV with zero PE count is used during vgcfgrestore.

12 years agoInitial support for lvconvert for thin pool volumes.
Zdenek Kabelac [Wed, 9 May 2012 12:17:06 +0000 (12:17 +0000)]
Initial support for lvconvert for thin pool volumes.

Support has many limitations and lots of FIXMEs inside,
however it makes initial task when user creates a separate LV for
thin pool data and thin metadata already usable, so let's enable
it for testing.

Easiest API:

lvconvert --chunksize XX --thinpool data_lv  metadata_lv

More functionality extensions will follow up.

TODO: Code needs some rework since a lot of same code is getting copied.

12 years agoFix regression in for_each_sub_lv
Zdenek Kabelac [Wed, 9 May 2012 12:12:21 +0000 (12:12 +0000)]
Fix regression in for_each_sub_lv

pool_lv is not a sub lv in terms for this function.
It has caused problem with renaming thin_volume, where it has tried to
rename pool LV as well.

12 years agoLog value chosen in _find_config_bool like other variable types do.
Alasdair Kergon [Tue, 8 May 2012 14:31:44 +0000 (14:31 +0000)]
Log value chosen in _find_config_bool like other variable types do.

12 years agoFix up-convert when mirror activation is controled by volume_list and tags.
Jonathan Earl Brassow [Sat, 5 May 2012 02:08:46 +0000 (02:08 +0000)]
Fix up-convert when mirror activation is controled by volume_list and tags.

When mirrors are up-converted, a transient mirror layer is put in so that
only the new devices are sync'ed.  That transient layer must carry the tags
of the original mirror LV, otherwise it will fail to activate when activation
is regulated by lvm.conf:activation/volume_list.  The conversion would then
fail.

The fix is to do exactly the same thing that is being done for linear ->
mirror converting (lib/metadata/mirror.c:_init_mirror_log()).  We copy the
tags temporarily for the new LV and remove them after the activation.

12 years agoDisallow snapshots of mirror segment types.
Jonathan Earl Brassow [Tue, 1 May 2012 19:21:24 +0000 (19:21 +0000)]
Disallow snapshots of mirror segment types.

Snapshots of RAID logical volumes are allowed (including "raid1").  However,
snapshots of "mirror" logical volumes has been disallowed due to unsolvable
issues inherent to the design.  The fact that mirroring (dm-raid1.c) must
stop all I/O as the result of a failure and wait for userspace intervention
can lead to a circular dependency if userspace is simultaneously waiting for
snapshots (on mirrors) to make an I/O update before proceeding.

Various snapshot on mirror tests have been removed as a result.

12 years agoMake a note that "raid1" is not cluster-aware in the example lvm.conf.
Jonathan Earl Brassow [Fri, 27 Apr 2012 18:37:42 +0000 (18:37 +0000)]
Make a note that "raid1" is not cluster-aware in the example lvm.conf.

In the description of the segment types for the 'mirror_segtype_default'
field, we mention that "raid1" is not cluster-aware.

12 years agoUse dm_strncpy instead of plain strncpy while setting the socket path.
Peter Rajnoha [Fri, 27 Apr 2012 09:52:33 +0000 (09:52 +0000)]
Use dm_strncpy instead of plain strncpy while setting the socket path.

Also check the return value as it meaningless to work with truncated strings.

12 years agoFix bug in cmirror that caused incorrect status info to print on some nodes.
Jonathan Earl Brassow [Thu, 26 Apr 2012 17:30:49 +0000 (17:30 +0000)]
Fix bug in cmirror that caused incorrect status info to print on some nodes.

Looking at the code in cmirrord/local.c, we can see the various different
request types handled in different ways.  Some information that is non-changing
does not need to go around the cluster and can be short-circuited.  For
example, once the cluster mirror is in-sync, it is pointless to continue
sending that query around the cluster.  We can save network bandwidth and reply
directly back to the kernel.  When it comes to status information, there are
two types 'TABLE' and 'INFO'.  The 'TABLE' information never changes and
belongs to the group of requests that can be safely short-circuited.  The
'STATUS' information can change - and will change if a device fails.  Thus it
cannot be short-circuited, but this is exactly what was found.  The 'STATUS'
information request was being short-circuited and therefore never reporting the
failure condition to anyone other than the "server" that experienced it
directly.

12 years agoRemove statement that snapshots cannot be tagged from lvm man page.
Alasdair Kergon [Thu, 26 Apr 2012 15:24:46 +0000 (15:24 +0000)]
Remove statement that snapshots cannot be tagged from lvm man page.

12 years agoDisallow changing cluster attribute of VG while RAID LVs are active.
Jonathan Earl Brassow [Wed, 25 Apr 2012 13:38:41 +0000 (13:38 +0000)]
Disallow changing cluster attribute of VG while RAID LVs are active.

Mirror and snapshot LVs are already checked for when switching the cluster
attribute of a VG.  This patch adds RAID.

12 years agoWHATS_NEW
Peter Rajnoha [Wed, 25 Apr 2012 09:32:36 +0000 (09:32 +0000)]
WHATS_NEW

12 years agoAllow a subset of failed devices to be replaced in RAID LVs.
Jonathan Earl Brassow [Tue, 24 Apr 2012 20:05:31 +0000 (20:05 +0000)]
Allow a subset of failed devices to be replaced in RAID LVs.

If two devices in an array failed, it was previously impossible to replace
just one of them.  This patch allows for the replacement of some, but perhaps
not all, failed devices.

12 years agoPrevent resume from creating error devices that already exist from suspend.
Jonathan Earl Brassow [Tue, 24 Apr 2012 20:00:03 +0000 (20:00 +0000)]
Prevent resume from creating error devices that already exist from suspend.

Thanks to agk for providing the patch that prevents resume from attempting
(and then failing) to create error devices which already exist; having been
created by a corresponding suspend operation.

12 years agoSynchronize with self-destruction of dmeventd
Zdenek Kabelac [Tue, 24 Apr 2012 12:25:12 +0000 (12:25 +0000)]
Synchronize with self-destruction of dmeventd

In some occasional case dmevent restart was experiencing problems
with obtaining pid lockfile. So this patch tries to send several more kill
message until daemon kills itself so there is would reponse.
With this small loop the restart seems to work reliable,
although the loopsize and usleep are just randomly picked for now.

12 years agoExpect failure if the reduction doesn't really happen
Zdenek Kabelac [Tue, 24 Apr 2012 12:17:49 +0000 (12:17 +0000)]
Expect failure if the reduction doesn't really happen

12 years agoAdd some lock comments
Zdenek Kabelac [Tue, 24 Apr 2012 12:17:12 +0000 (12:17 +0000)]
Add some lock comments

12 years agoUpdate singlenode locking
Zdenek Kabelac [Tue, 24 Apr 2012 12:16:40 +0000 (12:16 +0000)]
Update singlenode locking

Support lock conversion
Work also with LCK_READ
TODO: do more validation.

12 years agoSort lvs options by alphabet
Zdenek Kabelac [Tue, 24 Apr 2012 12:14:17 +0000 (12:14 +0000)]
Sort lvs options by alphabet

12 years agoUpdate some lvs column names
Zdenek Kabelac [Tue, 24 Apr 2012 12:13:29 +0000 (12:13 +0000)]
Update some lvs column names

Fix thin_pool -> pool_lv
Add more fields supported by thin provisioning.
Keep fields alphabetically sorted for easier lookup.

12 years agoAlso rename DevNos header to DevNosUsed in dmsetup info -c output.
Peter Rajnoha [Tue, 24 Apr 2012 08:24:36 +0000 (08:24 +0000)]
Also rename DevNos header to DevNosUsed in dmsetup info -c output.

12 years agoRename (Blk)DevNames header to (Blk)DevNamesUsed in dmsetup info -c output.
Peter Rajnoha [Tue, 24 Apr 2012 08:00:55 +0000 (08:00 +0000)]
Rename (Blk)DevNames header to (Blk)DevNamesUsed in dmsetup info -c output.

Just to make it clearer since there is the "dmsetup info -c -o blkdevname"
as well that shows the "block device name for this mapping", having a
"BlkDevName" header on output.

It's a bit confusing then if the "dmsetup info -c -o devs_used,blkdevs_used"
is named with a plural "DevNames"/"BlkDevNames" but at the same time having
a totally different meaning than the singular form "BlkDevName".

  DevNames --> DevNamesUsed
  BlkDevNames --> BlkDevNamesUsed

...makes it much more comprehensible.

12 years agoHandle replacement of an active device that goes missing with an error device.
Alasdair Kergon [Tue, 24 Apr 2012 00:51:26 +0000 (00:51 +0000)]
Handle replacement of an active device that goes missing with an error device.
(E.g. lvchange --refresh --partial on striped LV if a PV disappeared.)

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