Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=df452b47a1ae0288…
Commit: df452b47a1ae0288e737cfcdc171f8fe31e4a876
Parent: 3a6bea990b01a583de830b90fee492823139b7ea
Author: Alasdair G Kergon <agk(a)redhat.com>
AuthorDate: Tue Aug 7 20:41:45 2012 +0100
Committer: Alasdair G Kergon <agk(a)redhat.com>
CommitterDate: Tue Aug 7 20:41:45 2012 +0100
release: update version/WHATS_NEW
---
VERSION | 2 +-
VERSION_DM | 2 +-
WHATS_NEW | 30 +++++++++++++-----------------
WHATS_NEW_DM | 13 +++++++++----
4 files changed, 24 insertions(+), 23 deletions(-)
diff --git a/VERSION b/VERSION
index 8b62010..159419f 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.02.97(2)-git (2012-07-29)
+2.02.97(2)-git (2012-08-07)
diff --git a/VERSION_DM b/VERSION_DM
index e01aaa7..6b6b104 100644
--- a/VERSION_DM
+++ b/VERSION_DM
@@ -1 +1 @@
-1.02.76-git (2012-07-30)
+1.02.76-git (2012-08-07)
diff --git a/WHATS_NEW b/WHATS_NEW
index 2c4d139..97f3150 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,22 +1,21 @@
-Version 2.02.97 -
-===============================
+Version 2.02.97 - 7th August 2012
+=================================
Improve documention of allocation policies in lvm.8.
Increase limit for major:minor to 4095:1048575 when using -My option.
Add make install_systemd_generators.
Add generator for lvm2 activation systemd units.
Add lvm_config_find_bool lvm2app fn to retrieve bool value from config tree.
- Respect --test also when using lvmetad.
+ Respect --test when using lvmetad.
No longer capitalise first LV attribute char for invalid snapshots.
Allow vgextend to add PVs to a VG that is missing PVs.
Recognise Micron PCIe SSDs in filter and move array out to device-types.h.
- Fix segfault when attempting to replace RAID 4/5/6 device (2.02.97).
- Fix dumpconfig <node> to print only <node> without its siblings (2.02.89).
+ Fix dumpconfig <node> to print only <node> without its siblings. (2.02.89)
Do not issue "Failed to handle a client connection" error if lvmetad killed.
- Support changing of discard and zeroing for thin pool.
- Report used discard for thin pool and volume.
- Add support for controlling discard behavior of thin pool.
- Detect features for new 1.1 thin pool target.
- Count percentage of completeness upwards when merging a snapshot volume.
+ Support lvchange --discard and -Z with thin pools.
+ Add discard LV segment field to reports.
+ Add --discard to lvcreate --thin.
+ Set discard and external snapshot features if thin pool target is vsn 1.1+.
+ Count percentage of completeness upwards not downwards when merging snapshot.
Skip activation when using vg/lvchange --sysinit -a ay and lvmetad is active.
Fix extending RAID 4/5/6 logical volumes
Fix test for PV with unknown VG in process_each_pv to ignore ignored mdas.
@@ -29,13 +28,10 @@ Version 2.02.97 -
Add --activate synonym for --available arg and prefer --activate.
Never issue discards when LV extents are being reconfigured, not deleted.
Allow release_lv_segment_area to fail as functions it calls can fail.
- Open device read-only to obtain readahead value.
- Fix lvconvert error path NULL pointer dereference.
- Check for create_instance() fail in pvscan_lvmetad_single().
- Use 64bit math for reserved memory and stack.
- Add tests for kernel_send() errors in cmirrod.
- Print clean_bits in pull_state, fix cut&paste typo in cmirrord.
- Add tests for errors from closedir(), close() in cmirrord.
+ Open device read-only instead of read-write when obtaining readahead value.
+ Fix lvconvert thin pool error path NULL pointer dereference.
+ Detect create_instance() failure in pvscan_lvmetad_single().
+ Use 64-bit calculations for reserved memory and stack.
Fix missing sync of filesystem when creating thin volume snapshot.
Version 2.02.96 - 8th June 2012
diff --git a/WHATS_NEW_DM b/WHATS_NEW_DM
index a790ccf..b18c10c 100644
--- a/WHATS_NEW_DM
+++ b/WHATS_NEW_DM
@@ -1,15 +1,20 @@
-Version 1.02.76 -
-===============================
+Version 1.02.76 - 7th August 2012
+=================================
+ Add dm_vasprintf to libdevmapper.
Allow --noflush with dmsetup status and wait (for thin target).
Add dm_config_write_one_node to libdevmapper.
- Add support for thin pool message release/reserve_metadata_snap.
- Add support for thin pool discard and external origin.
+ Support thin pool message release/reserve_metadata_snap in libdevmapper.
+ Support thin pool discard and external origin features in libdevmapper.
Add configure --enable-udev-rule-exec-detection to detect exec path in rules.
Use sbindir in udev rules by default and remove executable path detection.
Remove hard-coded paths for dmeventd fifos and use default-dm-run-dir.
Add configure --with-lvmetad-pidfile to remove hard-coded value.
Add configure --with-default-pid-dir for common directory with pid files.
Add configure --with-default-dm-run-dir to set run directory for dm tools.
+ Detect kernel_send() errors in cmirrord.
+ Add __attribute__ instrumentation to libdevmapper.h.
+ Print clean_bits instead of sync_bits in pull_state in cmirrord.
+ Add tests for errors from closedir(), close() in cmirrord.
Add documentation references in systemd units.
Remove veritysetup. Now maintained with cryptsetup.
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=3a6bea990b01a583…
Commit: 3a6bea990b01a583de830b90fee492823139b7ea
Parent: 597590da7412485ccdcb71ca909fbc5f73ec2aa1
Author: Alasdair G Kergon <agk(a)redhat.com>
AuthorDate: Tue Aug 7 20:40:19 2012 +0100
Committer: Alasdair G Kergon <agk(a)redhat.com>
CommitterDate: Tue Aug 7 20:40:19 2012 +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.
---
lib/thin/thin.c | 35 +++++++++++++----------------------
1 files changed, 13 insertions(+), 22 deletions(-)
diff --git a/lib/thin/thin.c b/lib/thin/thin.c
index 27ce6f5..3e562ef 100644
--- a/lib/thin/thin.c
+++ b/lib/thin/thin.c
@@ -87,7 +87,7 @@ static int _thin_pool_text_import(struct lv_segment *seg,
{
const char *lv_name;
struct logical_volume *pool_data_lv, *pool_metadata_lv;
- const char *discard = NULL;
+ const char *discard_str = NULL;
if (!dm_config_get_str(sn, "metadata", &lv_name))
return SEG_LOG_ERROR("Metadata must be a string in");
@@ -115,12 +115,12 @@ static int _thin_pool_text_import(struct lv_segment *seg,
return SEG_LOG_ERROR("Could not read chunk_size");
if (dm_config_has_node(sn, "discard") &&
- !dm_config_get_str(sn, "discard", &discard))
+ !dm_config_get_str(sn, "discard", &discard_str))
return SEG_LOG_ERROR("Could not read discard for");
- if (!discard)
+ if (!discard_str)
seg->discard = THIN_DISCARD_PASSDOWN;
- else if (!get_pool_discard(discard, &seg->discard))
+ else if (!get_pool_discard(discard_str, &seg->discard))
return SEG_LOG_ERROR("Discard option unsupported for");
if (dm_config_has_node(sn, "low_water_mark") &&
@@ -165,14 +165,12 @@ static int _thin_pool_text_export(const struct lv_segment *seg, struct formatter
switch (seg->discard) {
case THIN_DISCARD_PASSDOWN:
- /* nothing to do */
- break;
case THIN_DISCARD_NO_PASSDOWN:
case THIN_DISCARD_IGNORE:
outf(f, "discard = \"%s\"", get_pool_discard_name(seg->discard));
break;
default:
- log_error(INTERNAL_ERROR "Unexportable discard.");
+ log_error(INTERNAL_ERROR "Invalid discard value %d.", seg->discard);
return 0;
}
@@ -278,9 +276,9 @@ static int _thin_pool_add_target_line(struct dev_manager *dm,
seg->zero_new_blocks ? 0 : 1))
return_0;
- if (seg->discard != THIN_DISCARD_PASSDOWN) {
+ if (seg->discard != THIN_DISCARD_PASSDOWN)
if (attr & THIN_FEATURE_DISCARD) {
- /* FIXME: Check whether underlaying dev supports discard */
+ /* FIXME: Check whether underlying dev supports discard */
if (!dm_tree_node_set_thin_pool_discard(node,
seg->discard == THIN_DISCARD_IGNORE,
seg->discard == THIN_DISCARD_NO_PASSDOWN))
@@ -288,7 +286,6 @@ static int _thin_pool_add_target_line(struct dev_manager *dm,
} else
log_warn_suppress(_no_discard++, "WARNING: Thin pool target does "
"not support discard (needs kernel >= 3.4).");
- }
/*
* Add messages only for activation tree.
@@ -545,30 +542,24 @@ static int _thin_target_present(struct cmd_context *cmd,
log_error("Cannot read " THIN_MODULE " target version.");
return 0;
}
- log_debug("Target " THIN_MODULE " has version %d:%d:%d.",
- maj, min, patchlevel);
-
- /* For testing allow to override via shell variable */
- if (getenv("LVM_THIN_VERSION_MIN"))
- min = atoi(getenv("LVM_THIN_VERSION_MIN"));
if (maj >=1 && min >= 1)
_attrs |= THIN_FEATURE_DISCARD;
else
- log_verbose("Target " THIN_MODULE
- " without discard support.");
+ /* FIXME Log this as WARNING later only if the user asked for the feature to be used but it's not present */
+ log_debug("Target " THIN_MODULE " does not support discards.");
if (maj >=1 && min >= 1)
_attrs |= THIN_FEATURE_EXTERNAL_ORIGIN;
else
- log_verbose("Target " THIN_MODULE
- " without external origin support.");
+ /* FIXME Log this as WARNING later only if the user asked for the feature to be used but it's not present */
+ log_debug("Target " THIN_MODULE " does not support external origins.");
#if 0
if (maj >=1 && min >= 1)
_attrs |= THIN_FEATURE_BLOCK_SIZE;
else
- log_verbose("Target " THIN_MODULE
- " without non power of 2 block size.");
+ /* FIXME Log this as WARNING later only if the user asked for the feature to be used but it's not present */
+ log_debug("Target " THIN_MODULE " does not support non power of 2 block sizes.");
#endif
_checked = 1;
}
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=597590da7412485c…
Commit: 597590da7412485ccdcb71ca909fbc5f73ec2aa1
Parent: 1ca813083f34082dd32ceab6e125ef379769e21e
Author: Alasdair G Kergon <agk(a)redhat.com>
AuthorDate: Tue Aug 7 20:20:16 2012 +0100
Committer: Alasdair G Kergon <agk(a)redhat.com>
CommitterDate: Tue Aug 7 20:20:16 2012 +0100
man: expand lvchange --discard entry
---
man/lvchange.8.in | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/man/lvchange.8.in b/man/lvchange.8.in
index beb77a8..e58d79c 100644
--- a/man/lvchange.8.in
+++ b/man/lvchange.8.in
@@ -73,7 +73,12 @@ logical volume's allocation policy to contiguous, if all of the
allocated physical extents are already contiguous.
.TP
.BR \-\-discard " {" \fIignore | \fInopassdown | \fIpassdown }
-Change discard behavior.
+Set this to \fIignore\fP to ignore any discards received by a
+thin pool Logical Volume. Set to \fInopassdown\fP to process such
+discards within the thin pool itself and allow the no-longer-needed
+extents to be overwritten by new data. Set to \fIpassdown\fP to
+process them both within the thin pool itself and to pass them down
+the underlying device.
.TP
.B \-\-resync
Forces the complete resynchronization of a mirror. In normal