summaryrefslogtreecommitdiffstats
path: root/WHATS_NEW
Commit message (Collapse)AuthorAgeFilesLines
* config: add silent modeAlasdair G Kergon2012-08-251-1/+5
| | | | | | | | | | | | | | | | Accept -q as the short form of --quiet. Suppress non-essential standard output if -q is given twice. Treat log/silent in lvm.conf as equivalent to -qq. Review all log_print messages and change some to log_print_unless_silent. When silent, the following commands still produce output: dumpconfig, lvdisplay, lvmdiskscan, lvs, pvck, pvdisplay, pvs, version, vgcfgrestore -l, vgdisplay, vgs. [Needs checking.] Non-essential messages are shifted from log level 4 to log level 5 for syslog and lvm2_log_fn purposes.
* RAID: Add support for RAID10Jonathan Brassow2012-08-241-0/+1
| | | | | | This patch adds support for RAID10. It is not the default at this stage. The user needs to specify '--type raid10' if they would like RAID10 instead of stacked mirror over stripe.
* lvconvert: use _reload_lv on more placesZdenek Kabelac2012-08-231-0/+1
| | | | Use common subroutine.
* lvmetad: do not deref NULL pointerZdenek Kabelac2012-08-231-0/+1
| | | | Call log only for req.cft != NULL.
* lvmetad: fix memleaksZdenek Kabelac2012-08-231-0/+1
| | | | Release allocated buffers in daemon_logf, daemon_log_parse
* thin: lvcreate --discardsZdenek Kabelac2012-08-091-0/+1
|
* thin: fix man page for lvsZdenek Kabelac2012-08-091-0/+1
| | | | Renamed discard -> discards
* thin: fix condition for kernels without discardsZdenek Kabelac2012-08-091-0/+1
| | | | | Report warning if the kernel is not support given discards settings. (In this case the behavior is equal to IGNORE.)
* thin: default discards for old mda is IGNOREZdenek Kabelac2012-08-091-0/+4
| | | | | If the discard was not set in metadata, use IGNORE, as this is the equivalent behavior for this case.
* RAID: Improve RAID argument handling.Jonathan Brassow2012-08-081-0/+1
| | | | | Disallow '-m' for RAID types that have no mirror component and disallow '-i' argument for RAID types that have no stripe component.
* thin: use discards as plural rather than singularAlasdair G Kergon2012-08-071-2/+2
| | | | Global change from --discard to --discards, as that feels more natural.
* release: update version/WHATS_NEWAlasdair G Kergon2012-08-071-17/+13
|
* man: document allocation process in lvm.8Alasdair G Kergon2012-08-071-0/+1
|
* args: increase major:minor limit to 4095:1048575Peter Rajnoha2012-08-061-0/+1
| | | | | | | | | 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).
* systemd: integrate lvm2 activation generator with conf+makePeter Rajnoha2012-07-311-0/+2
|
* lvm2app: add lvm_config_find_bool functionPeter Rajnoha2012-07-311-0/+1
| | | | To effectively retrieve the setting of anything that could be enabled or disabled.
* lvmetad: Implement --test (fixes #832033).Petr Rockai2012-07-301-0/+1
|
* reports: invalid snaps do not capitalise lv_attrAlasdair G Kergon2012-07-271-0/+1
| | | | | No longer capitalise first LV attribute char for invalid snapshots. This state is available from the 5th char now (I or S).
* vgextend: Allow PVs to be added to VGs that have PVs missingJonathan Brassow2012-07-261-0/+1
| | | | | | | | | | | | | | | | | 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.
* filters: Add Micron PCIe SSDs (mtip32xx)Alasdair G Kergon2012-07-261-0/+1
| | | | Recognise Micron PCIe SSDs in filter and move array out to device-types.h.
* Forgot to update WHATS_NEW for commit 5555d2a000ed4e3d5a694896f3dc6a7290543f43Jonathan Brassow2012-07-241-0/+1
|
* config: fix one-node dumpconfig, add dm_config_write_one_nodePeter Rajnoha2012-07-201-0/+1
| | | | | | | | | | | | | | | | | | 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
* daemon-server: fix error message on daemon shutdownPeter Rajnoha2012-07-191-0/+1
| | | | | | | | | | 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.
* thin: add lvchange for discard and zero changeZdenek Kabelac2012-07-181-0/+1
| | | | | | | 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.
* thin: add reporting of discard for thin poolZdenek Kabelac2012-07-181-0/+1
| | | | | | | | | | New field "discard" is added for lvs reporting of lv segment. Reported as one character: (i)gnore (n)opassdown (p)assdown lvs -o+discard
* thin: add discard support for thin poolZdenek Kabelac2012-07-181-0/+1
| | | | | | | | 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
* thin: detect supported features from thinp targetZdenek Kabelac2012-07-181-0/+1
| | | | | Add shell variable to override reported min version for testing: LVM_THIN_VERSION_MIN
* lvconvert: count % upwards when merging a snapshotPeter Rajnoha2012-07-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | 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
* activate: skip manual activation for --sysinit -aayPeter Rajnoha2012-07-101-0/+1
| | | | | | | | | | | | | 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.
* RAID: Fix extending size of RAID 4/5/6 logical volumes.Jonathan Brassow2012-06-261-0/+1
| | | | | | 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.
* toollib: fix ignored_mdas process_each_pv rescanAlasdair G Kergon2012-06-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* man: --activate ay and auto_activation_volume_listPeter Rajnoha2012-06-291-0/+1
|
* alloc: fix raid --alloc anywhere double allocsAlasdair G Kergon2012-06-281-0/+1
| | | | | | | | 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
* WHATS_NEW: updateAlasdair G Kergon2012-06-281-4/+1
| | | | Update WHATS_NEW.
* initscript: call vgchange -aay instead of -alyPeter Rajnoha2012-06-281-0/+1
| | | | | | | | | | | 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.
* conf: add activation/auto_activation_volume_listPeter Rajnoha2012-06-281-0/+1
|
* lvcreate: add --activate ay (autoactivate)Peter Rajnoha2012-06-281-0/+1
| | | | | | | | | | 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.
* lvchange: add --activate ay (autoactivate)Peter Rajnoha2012-06-281-0/+1
| | | | The same as for vgchange...
* pvscan: add --activate ay option (autoactivate)Peter Rajnoha2012-06-281-0/+1
| | | | | | | | | | | 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.
* vgchange: add --activate ay option (autoactivate)Peter Rajnoha2012-06-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | 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).
* activate: add autoactivation hooksPeter Rajnoha2012-06-281-0/+1
| | | | | | | | | | | | | | | | 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...).
* args: add --activate synonym for --available argPeter Rajnoha2012-06-281-0/+1
| | | | | | | | 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).
* discards: don't discard reconfigured extentsAlasdair G Kergon2012-06-271-0/+1
| | | | | | | | 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().
* allocation: allow release_lv_segment_area to failAlasdair G Kergon2012-06-271-0/+1
| | | | Allow release_lv_segment_area to fail as functions it calls can fail.
* dev-io: open device read-only to obtain readahead valuePeter Rajnoha2012-06-251-0/+1
| | | | | | | | | | | | | | | | | | | 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.
* thin: fix lvconvert error path NULL dereferenceZdenek Kabelac2012-06-221-0/+1
| | | | For printing the name, use given command line parameter.
* lvmetad: check for fid existanceZdenek Kabelac2012-06-221-0/+1
| | | | Fail to update lvmetad with proper log error message.
* fix: use 64bit math for reserved memoryZdenek Kabelac2012-06-221-0/+1
| | | | | | | | 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.
* cmirrord: add missing checks for kernel_sendZdenek Kabelac2012-06-201-0/+1
| | | | Log errors if kernel_send fails.
* cmirrord: fix cut&pasteZdenek Kabelac2012-06-201-0/+1
|