]> sourceware.org Git - lvm2.git/log
lvm2.git
12 years agothin: tidy thin discard code
Alasdair G Kergon [Tue, 7 Aug 2012 19:40:19 +0000 (20:40 +0100)]
thin: tidy thin discard code

Always store discard setting in LV metadata.  (Note that lvcreate_params
doesn't yet use --discard to set the initial value.)
Remove undocumented env var LVM_THIN_VERSION_MIN that has no use on a
live system.
Change verbose 'feature not found' messages to debug.
Use discard_str for string value of discard.

12 years agoman: expand lvchange --discard entry
Alasdair G Kergon [Tue, 7 Aug 2012 19:20:16 +0000 (20:20 +0100)]
man: expand lvchange --discard entry

12 years agothin: tidy commands.h arg lists
Alasdair G Kergon [Tue, 7 Aug 2012 19:10:06 +0000 (20:10 +0100)]
thin: tidy commands.h arg lists

args are listed alphabetically.
lvconvert -T is covered in the second section not the first.
It could be tidied further or split out.

12 years agothin: mention discard/zero in lvchange errmsg
Alasdair G Kergon [Tue, 7 Aug 2012 19:08:14 +0000 (20:08 +0100)]
thin: mention discard/zero in lvchange errmsg

12 years agowhitespace
Alasdair G Kergon [Tue, 7 Aug 2012 18:04:52 +0000 (19:04 +0100)]
whitespace

12 years agoreport: provide discard field value in full
Alasdair G Kergon [Tue, 7 Aug 2012 17:48:34 +0000 (18:48 +0100)]
report: provide discard field value in full

I think it's better not to abbreviate human-readable fields like
'discard' to a single character.  Users can truncate it to the
first character themselves if they wish.

It's confusing to use the variable name discard for different things in
different places - use discard_str when it's a string not the enum.

12 years agoactivation: log target version present
Alasdair G Kergon [Tue, 7 Aug 2012 17:47:33 +0000 (18:47 +0100)]
activation: log target version present

Log (very verbose) the target version present in target_version.

12 years agothin: tighten discard string conversions
Alasdair G Kergon [Tue, 7 Aug 2012 17:37:35 +0000 (18:37 +0100)]
thin: tighten discard string conversions

Respond with "unknown" rather than a NULL pointer if there's an
internal error and the discard value is invalid.

Don't accept 'no_passdown' or 'no-passdown' variants in the LVM
metadata: this is written by the program so should only ever contain
"nopassdown" and should be validated strictly against that.

12 years agothin: order discard enum alphabetically
Alasdair G Kergon [Tue, 7 Aug 2012 17:36:40 +0000 (18:36 +0100)]
thin: order discard enum alphabetically

12 years agocomments: misc updates
Alasdair G Kergon [Tue, 7 Aug 2012 17:34:30 +0000 (18:34 +0100)]
comments: misc updates

Miscellaneous clarifications to comments.

12 years agoman: document allocation process in lvm.8
Alasdair G Kergon [Tue, 7 Aug 2012 01:06:42 +0000 (02:06 +0100)]
man: document allocation process in lvm.8

12 years agoargs: increase major:minor limit to 4095:1048575
Peter Rajnoha [Mon, 6 Aug 2012 16:01:01 +0000 (18:01 +0200)]
args: increase major:minor limit to 4095:1048575

Remove the limit for major and minor number arguments used while specifying
persistent numbers via -My --major <major> --minor <minor> option which
was set to 255 before. Follow the kernel limit instead which is 12 bits
for major and 20 bits for minor number (kernel >= 2.6 and LVM formats
that does not have FMT_RESTRICTED_LVIDS - so still keep the old limit
of 255 for lvm1 format).

12 years ago[lvmetad] Continue reading/writing on EINTR
Marian Csontos [Thu, 2 Aug 2012 14:40:21 +0000 (16:40 +0200)]
[lvmetad] Continue reading/writing on EINTR

12 years agoRemove redundant (potentially harmful) semicolon
Marian Csontos [Thu, 2 Aug 2012 09:38:19 +0000 (11:38 +0200)]
Remove redundant (potentially harmful) semicolon

12 years agolvmetad: Skip redundant checks on no input
Marian Csontos [Wed, 1 Aug 2012 14:06:32 +0000 (16:06 +0200)]
lvmetad: Skip redundant checks on no input

12 years agomake: fix make in scripts dir for --disable-applib
Peter Rajnoha [Wed, 1 Aug 2012 13:48:53 +0000 (15:48 +0200)]
make: fix make in scripts dir for --disable-applib

12 years agoFix dependecy build for scripts dir
Zdenek Kabelac [Wed, 1 Aug 2012 11:54:32 +0000 (13:54 +0200)]
Fix dependecy build for scripts dir

Since now scripts builds binaries, build needs to wait for libs.

12 years agosystemd: O_CLOEXEC not needed in activation generator
Peter Rajnoha [Wed, 1 Aug 2012 06:57:12 +0000 (08:57 +0200)]
systemd: O_CLOEXEC not needed in activation generator

O_CLOEXEC not actually needed, this is just a simple program,
it is not supposed to fork/exec anywhere and anytime in the future.

12 years agomake: use proper libs to make scripts subdir
Peter Rajnoha [Wed, 1 Aug 2012 06:40:36 +0000 (08:40 +0200)]
make: use proper libs to make scripts subdir

12 years agosystemd: integrate lvm2 activation generator with conf+make
Peter Rajnoha [Tue, 31 Jul 2012 14:46:24 +0000 (16:46 +0200)]
systemd: integrate lvm2 activation generator with conf+make

12 years agosystemd: add lvm2 activation generator
Peter Rajnoha [Tue, 31 Jul 2012 14:20:24 +0000 (16:20 +0200)]
systemd: add lvm2 activation generator

The lvm2 activation generator generates systemd units conditionally
based on the global/use_lvmetad lvm.conf setting.

If use_lvmetad=0, the lvm2-activation-early.service and lvm2-activation.service
units will be generated. These units are responsible for direct volume activation
by calling "vgchange -aay --sysinit" (this is actually the original on-boot
activation as it was used before). If use_lvmetad=1, no units will be generated
as we're relying on autoactivation.

Important thing to note is that the lvm2-activation units normally bring
in the udev-settle ("storage-wait") service that waits for udev to settle
(with block devices). We don't need this if lvmetad is used in conjunction
with autoactivation feature... but systemd units can't be enabled or disabled
(or dependencies added/removed) dynamically based on external configuration.

Therefore, we need the unit generator which adds support for such situations:
the units as a whole either exist or not based on the external configuration.

12 years agolvm2app: add lvm_config_find_bool function
Peter Rajnoha [Tue, 31 Jul 2012 14:18:01 +0000 (16:18 +0200)]
lvm2app: add lvm_config_find_bool function

To effectively retrieve the setting of anything that could be enabled or disabled.

12 years agolvmetad: Fix an obscure error message.
Petr Rockai [Tue, 31 Jul 2012 09:43:35 +0000 (11:43 +0200)]
lvmetad: Fix an obscure error message.

12 years agolibdm-string: Add dm_vasprintf.
Petr Rockai [Mon, 30 Jul 2012 14:41:15 +0000 (16:41 +0200)]
libdm-string: Add dm_vasprintf.

12 years agoversion: update
Alasdair G Kergon [Mon, 30 Jul 2012 17:00:08 +0000 (18:00 +0100)]
version: update

12 years agoversion: update
Alasdair G Kergon [Mon, 30 Jul 2012 16:47:04 +0000 (17:47 +0100)]
version: update

12 years agoversion: update
Alasdair G Kergon [Mon, 30 Jul 2012 16:38:51 +0000 (17:38 +0100)]
version: update

12 years agoversion: update
Alasdair G Kergon [Mon, 30 Jul 2012 15:17:16 +0000 (16:17 +0100)]
version: update

Update version date.

12 years agoTEST: Add lvmetad-test; checks --test with lvmetad.
Petr Rockai [Mon, 30 Jul 2012 09:21:55 +0000 (11:21 +0200)]
TEST: Add lvmetad-test; checks --test with lvmetad.

12 years agolvmetad: Implement --test (fixes #832033).
Petr Rockai [Mon, 30 Jul 2012 08:44:11 +0000 (10:44 +0200)]
lvmetad: Implement --test (fixes #832033).

12 years agoreports: invalid snaps do not capitalise lv_attr
Alasdair G Kergon [Fri, 27 Jul 2012 19:19:28 +0000 (20:19 +0100)]
reports: invalid snaps do not capitalise lv_attr

No longer capitalise first LV attribute char for invalid snapshots.
This state is available from the 5th char now (I or S).

12 years agodmsetup: allow --noflush with status/wait for thin
Alasdair G Kergon [Fri, 27 Jul 2012 19:03:07 +0000 (20:03 +0100)]
dmsetup: allow --noflush with status/wait for thin

Allow --noflush with dmsetup status and wait (for thin target 1.3.0 /
ioctl 4.23.0).

12 years agovgextend: Allow PVs to be added to VGs that have PVs missing
Jonathan Brassow [Thu, 26 Jul 2012 22:06:06 +0000 (17:06 -0500)]
vgextend:  Allow PVs to be added to VGs that have PVs missing

Allowing people to add devices to a VG that has PVs missing helps
people avoid the inability to repair RAID LVs in certain cases.
For example, if a user creates a RAID 4/5/6 LV using all of the
available devices in a VG, there will be no spare devices to
repair the LV with if a device should fail.  Further, because the
VG is missing a device, new devices cannot be added to allow the
repair.  If 'vgreduce --removemissing' were attempted, the
"MISSING" PV could not be removed without also destroying the RAID
LV.

Allowing vgextend to operate solves the circular dependency.

When the PV is added by a vgextend operation, the sequence number is
incremented and the 'MISSING' flag is put on the PVs which are missing.

12 years agofilters: move device_info_t definition to header
Alasdair G Kergon [Thu, 26 Jul 2012 11:22:55 +0000 (12:22 +0100)]
filters: move device_info_t definition to header

12 years agosystemd: ensure monitoring is handled after lvmetad
Peter Rajnoha [Thu, 26 Jul 2012 09:30:27 +0000 (11:30 +0200)]
systemd: ensure monitoring is handled after lvmetad

Monitoring is handled using "vgchange --monitor" call. Ensure that lvmetad is up
and running at the time of this call to prevent any fallback to direct scan
within the vgchange. The same applies for shutdown sequence but the other way
round - switch monitoring off and lvmetad afterwards.

12 years agofilters: Add Micron PCIe SSDs (mtip32xx) [part2]
Alasdair G Kergon [Thu, 26 Jul 2012 01:31:06 +0000 (02:31 +0100)]
filters: Add Micron PCIe SSDs (mtip32xx) [part2]

Recognise Micron PCIe SSDs in filter and move array out to device-types.h.

12 years agofilters: Add Micron PCIe SSDs (mtip32xx)
Alasdair G Kergon [Thu, 26 Jul 2012 01:26:40 +0000 (02:26 +0100)]
filters: Add Micron PCIe SSDs (mtip32xx)

Recognise Micron PCIe SSDs in filter and move array out to device-types.h.

12 years agoTEST: Conditionalize RAID tests on whether the dm-raid module exists
Jonathan Brassow [Wed, 25 Jul 2012 14:43:28 +0000 (09:43 -0500)]
TEST:  Conditionalize RAID tests on whether the dm-raid module exists

12 years agolocking: clarify read-only locking error message v2
Peter Rajnoha [Wed, 25 Jul 2012 12:37:22 +0000 (14:37 +0200)]
locking: clarify read-only locking error message v2

12 years agolocking: clarify read-only locking error message
Peter Rajnoha [Wed, 25 Jul 2012 12:06:02 +0000 (14:06 +0200)]
locking: clarify read-only locking error message

12 years agoForgot to update WHATS_NEW for commit 5555d2a000ed4e3d5a694896f3dc6a7290543f43
Jonathan Brassow [Wed, 25 Jul 2012 03:28:23 +0000 (22:28 -0500)]
Forgot to update WHATS_NEW for commit 5555d2a000ed4e3d5a694896f3dc6a7290543f43

12 years agoRAID: Fix segfault when attempting to replace RAID 4/5/6 device
Jonathan Brassow [Wed, 25 Jul 2012 00:02:06 +0000 (19:02 -0500)]
RAID: Fix segfault when attempting to replace RAID 4/5/6 device

Commit 8767435ef847831455fadc1f7e8f4d2d94aef0d5 allowed RAID 4/5/6
LV to be extended properly, but introduced a regression in device
replacement - a critical component of fault tolerance.

When only 1 or 2 drives are being replaced, the 'area_count' needed
can be equal to the parity_count.  The 'area_multiple' for RAID 4/5/6
was computed as 'area_count - parity_devs', which could result in
'area_multiple' being 0.  This would ultimately lead to a division by
zero error.  Therefore, in calc_area_multiple, it is important to take
into account the number of areas that are being requested - just as
we already do in _alloc_init.

12 years agoTEST: Replace old sync test/wait functions with new library functions
Jonathan Brassow [Tue, 24 Jul 2012 19:20:30 +0000 (14:20 -0500)]
TEST:  Replace old sync test/wait functions with new library functions

Generic sync test/wait functions have replaced the old mirror/raid functions.

12 years agoTEST: Add library functions for checking and waiting for sync
Jonathan Brassow [Tue, 24 Jul 2012 19:17:54 +0000 (14:17 -0500)]
TEST: Add library functions for checking and waiting for sync

Add 'in_sync' and 'wait_for_sync' to test and wait for synchronization
of a mirror or RAID logical volume.

12 years agoconfig: fix one-node dumpconfig, add dm_config_write_one_node
Peter Rajnoha [Fri, 20 Jul 2012 13:53:04 +0000 (15:53 +0200)]
config: fix one-node dumpconfig, add dm_config_write_one_node

A regression introduced in 2.02.89 (11e520256b3005ed813ce83f8770aaab74edef3f)
caused the lvm dumpconfig <node> to print out
the node as well as its subsequent siblings.
The information about "only_one" mode got lost.

Before this patch (just an example node):
  # lvm dumpconfig global/use_lvmetad
  use_lvmetad=1
  thin_check_executable="/usr/sbin/thin_check"
  thin_check_options="-q"
  (...all nodes to the end of the section)

With this patch applied:
   # lvm dumpconfig global/use_lvmetad
   use_lvmetad=1

12 years agodaemon-server: fix error message on daemon shutdown
Peter Rajnoha [Thu, 19 Jul 2012 14:45:08 +0000 (16:45 +0200)]
daemon-server: fix error message on daemon shutdown

If a daemon (like lvmetad that is using common daemon-server code)
received a kill signal that was supposed to shut the daemon down,
a spurious message was issued: "Failed to handle a client connection".

This happened if the kill signal came just in the middle of waiting
for a client request in "select" - the request that was supposed to
be handled was blank at that moment of course.

12 years agothin: add lvchange for discard and zero change
Zdenek Kabelac [Thu, 28 Jun 2012 12:52:23 +0000 (14:52 +0200)]
thin: add lvchange for discard and zero change

Update lvchange to allow change of 'zero' flag for thinpool.
Add support for changing discard handling.

N.B.  from/to  ignore could be only changed for inactive pool.

12 years agothin: add reporting of discard for thin pool
Zdenek Kabelac [Mon, 9 Jul 2012 14:48:28 +0000 (16:48 +0200)]
thin: add reporting of discard for thin pool

New field  "discard" is added for lvs reporting of lv segment.
Reported as one character:
 (i)gnore
 (n)opassdown
 (p)assdown

lvs -o+discard

12 years agothin: add discard support for thin pool
Zdenek Kabelac [Thu, 28 Jun 2012 12:47:34 +0000 (14:47 +0200)]
thin: add discard support for thin pool

Add arg support for discard.
Add discard ignore, nopassdown, passdown (=default) support.
Flags could be set per pool.

lvcreate [--discard {ignore|no_passdown|passdown}]  vg/thinlv

12 years agothin: detect supported features from thinp target
Zdenek Kabelac [Fri, 25 May 2012 11:38:03 +0000 (13:38 +0200)]
thin: detect supported features from thinp target

Add shell variable to override reported min version for testing:
LVM_THIN_VERSION_MIN

12 years agolibdm: support reserve and release metadata snap msg
Zdenek Kabelac [Wed, 4 Jul 2012 09:28:53 +0000 (11:28 +0200)]
libdm: support reserve and release metadata snap msg

Add support for new message types for thinp target 1.1

12 years agolibdm: add support for external origin and discard
Zdenek Kabelac [Sat, 4 Feb 2012 12:49:40 +0000 (13:49 +0100)]
libdm: add support for external origin and discard

12 years agoTEST (lvresize-raid): Don't run test when RAID module doesn't exist
Jonathan Brassow [Tue, 17 Jul 2012 15:50:21 +0000 (10:50 -0500)]
TEST (lvresize-raid):  Don't run test when RAID module doesn't exist

Check for RAID module and skip test if not there.

12 years agoconfigure: default tmpfile dir in PREFIX/lib/tmpfiles.d
Peter Rajnoha [Mon, 16 Jul 2012 09:13:32 +0000 (11:13 +0200)]
configure: default tmpfile dir in PREFIX/lib/tmpfiles.d

SYSCONFDIR (the /etc) contains overrides to system-wide settings.
System-wide settings are in PREFIX/lib/tmpfiles.d by default

12 years agoconf: add a comment about obsolete .cache file
Peter Rajnoha [Mon, 16 Jul 2012 08:43:04 +0000 (10:43 +0200)]
conf: add a comment about obsolete .cache file

12 years agolvconvert: count % upwards when merging a snapshot
Peter Rajnoha [Tue, 10 Jul 2012 13:30:18 +0000 (15:30 +0200)]
lvconvert: count % upwards when merging a snapshot

Before:
  # lvconvert --merge -i 1 vg/lvol1
  Merging of volume lvol1 started.
  lvol0: Merged: 36.7%
  lvol0: Merged: 21.3%
  lvol0: Merged: 5.8%
  lvol0: Merged: 0.0%
  Merge of snapshot into logical volume lvol0 has finished.
  Logical volume "lvol1" successfully removed

After:
  # lvconvert --merge -i 1 vg/lvol1
  Merging of volume lvol1 started.
  lvol0: Merged: 61.4%
  lvol0: Merged: 73.0%
  lvol0: Merged: 88.4%
  lvol0: Merged: 100.0%
  Merge of snapshot into logical volume lvol0 has finished.
  Logical volume "lvol1" successfully removed

12 years agoactivate: skip manual activation for --sysinit -aay
Peter Rajnoha [Tue, 10 Jul 2012 11:49:46 +0000 (13:49 +0200)]
activate: skip manual activation for --sysinit -aay

When --sysinit -a ay is used with vg/lvchange and lvmetad is up and running,
we should skip manual activation as that would be a useless step - all volumes
are autoactivated once all the PVs for a VG are present.

If lvmetad is not active at the time of the vgchange --sysinit -a ay
call, the activation proceeds in standard 'manual' way.

This way, we can still have vg/lvchange --sysinit -a ay called
unconditionally in system initialization scripts no matter if lvmetad
is used or not.

12 years agoRAID: Fix extending size of RAID 4/5/6 logical volumes.
Jonathan Brassow [Tue, 26 Jun 2012 14:44:54 +0000 (09:44 -0500)]
RAID:  Fix extending size of RAID 4/5/6 logical volumes.

Reducing a RAID 4/5/6 LV or extending it with a different number of
stripes is still not implemented.  This patch covers the "simple" case
where the LV is extended with the same number of stripes as the orginal.

12 years agoTEST (lvconvert-raid): Turn on RAID conversion testing under snapshots
Jonathan Brassow [Tue, 26 Jun 2012 11:45:45 +0000 (06:45 -0500)]
TEST (lvconvert-raid):  Turn on RAID conversion testing under snapshots

12 years agoTEST (lvconvert-raid): localize a function variable
Jonathan Brassow [Tue, 26 Jun 2012 03:25:46 +0000 (22:25 -0500)]
TEST (lvconvert-raid): localize a function variable

Function was overwriting a global variable because it used a variable
of the same name without first declaring it with 'local'.

12 years agoTEST (lvcreate-raid): Allow more time for RAID arrays to sync
Jonathan Brassow [Tue, 26 Jun 2012 03:20:24 +0000 (22:20 -0500)]
TEST (lvcreate-raid): Allow more time for RAID arrays to sync

My machines can run very slow sometimes causing this test to fail
when it would otherwise have succeeded given more time.

12 years agotoollib: fix ignored_mdas process_each_pv rescan
Alasdair G Kergon [Fri, 29 Jun 2012 20:22:09 +0000 (21:22 +0100)]
toollib: fix ignored_mdas process_each_pv rescan

In process_each_pv() if we haven't yet scanned and the PV appears
to be an orphan, we must scan the other PVs looking for mdas that
reference it to find out what VG it is in.

1. If the PV has no mdas, we must scan.
2. If the PV has an mda that is not ignored we do not need to scan.
3. If the PV has an mda that is ignored, we do need to scan.

This patch fixes case 3.

> pvs -o +mda_count,vg_mda_count /dev/loop[0123]
  PV         VG   Fmt  Attr PSize  PFree  #PMda #VMda
  /dev/loop0 vg3  lvm2 a-   96.00m 96.00m     0     1
  /dev/loop1 vg3  lvm2 a-   96.00m 96.00m     1     1
  /dev/loop2 vg2  lvm2 a-   96.00m 96.00m     1     2
  /dev/loop3 vg2  lvm2 a-   28.00m 28.00m     1     2

Before:
> pvs /dev/loop2 /dev/loop3 /dev/loop0 /dev/loop1 --unbuffered
  PV         VG   Fmt  Attr PSize   PFree
  /dev/loop2      lvm2 a--  100.00m 100.00m
  /dev/loop3 vg2  lvm2 a--   28.00m  28.00m
  /dev/loop0      lvm2 a--  100.00m 100.00m
  /dev/loop1 vg3  lvm2 a--   96.00m  96.00m

After:
> pvs /dev/loop2 /dev/loop3 /dev/loop0 /dev/loop1 --unbuffered
  PV         VG   Fmt  Attr PSize  PFree
  /dev/loop2 vg2  lvm2 a--  96.00m 96.00m
  /dev/loop3 vg2  lvm2 a--  28.00m 28.00m
  /dev/loop0 vg3  lvm2 a--  96.00m 96.00m
  /dev/loop1 vg3  lvm2 a--  96.00m 96.00m

12 years agosystemd: add doc reference in dm-event.socket
Peter Rajnoha [Fri, 29 Jun 2012 11:54:35 +0000 (13:54 +0200)]
systemd: add doc reference in dm-event.socket

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

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