1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-03-13 00:58:47 +03:00

release 2.02.103

52 files changed, 598 insertions(+), 264 deletions(-)
This commit is contained in:
Alasdair G Kergon 2013-10-04 14:32:23 +01:00
parent 0d03503a45
commit 04d9a52684
12 changed files with 26 additions and 24 deletions

View File

@ -1 +1 @@
2.02.103(2)-git (2013-09-23) 2.02.103(2)-git (2013-10-04)

View File

@ -1 +1 @@
1.02.82-git (2013-09-23) 1.02.82-git (2013-10-04)

View File

@ -1,14 +1,16 @@
Version 2.02.103 - Version 2.02.103 - 4th October 2013
====================================== ===================================
Ensure vgid matches before removing vgname entry from lvmetad cache.
Add --ignoreskippedcluster for exit status success when clustered VGs skipped. Add --ignoreskippedcluster for exit status success when clustered VGs skipped.
Fix 3min udev timeout so that it is applied for all LVM volumes. Fix 3 minute udev timeout so that it is applied for all LVM volumes.
Fix thin/raid & activation config defaults with configure --disable-devmapper.
Fix RAID calculation for sufficient allocatable space. Fix RAID calculation for sufficient allocatable space.
Conversion from linear to mirror or RAID1 now honors mirror_segtype_default. lvconvert from linear to mirror or RAID1 now honors mirror_segtype_default.
Add thin-performance configuration profile. Add thin-performance configuration profile.
Add lvm.conf allocation/thin_pool_chunk_size_policy option. Add lvm.conf allocation/thin_pool_chunk_size_policy option.
Fix contiguous & cling allocation policies for parity RAID. (2.02.100) Fix contiguous & cling allocation policies for parity RAID. (2.02.100)
Have lvmconf --enable/disable-cluster reset/set use_lvmetad. Have lvmconf --enable/disable-cluster reset/set use_lvmetad.
Don't install separate command symlink in binary directory for 'lvm devtypes'. Don't install separate command symlink for 'lvm devtypes'. (2.02.101)
Add seg_size_pe field to reports. Add seg_size_pe field to reports.
Support start+length notation with command line PE ranges. Support start+length notation with command line PE ranges.
Exit cleanly with message when pvmove cannot restart because LV is inactive. Exit cleanly with message when pvmove cannot restart because LV is inactive.

View File

@ -1,5 +1,5 @@
Version 1.02.82 - Version 1.02.82 - 4th October 2013
===================================== ==================================
Define symbolic names for subsystem udev flags in libdevmapper for easier use. Define symbolic names for subsystem udev flags in libdevmapper for easier use.
Make subsystem udev rules responsible for importing DM_SUBSYSTEM_UDEV_FLAG*. Make subsystem udev rules responsible for importing DM_SUBSYSTEM_UDEV_FLAG*.

View File

@ -255,7 +255,7 @@ allocation {
# Specify chunk size calculation policy for thin pool volumes. # Specify chunk size calculation policy for thin pool volumes.
# Possible options are: # Possible options are:
# "generic" - if thin_pool_chunk_size is defined, use it. # "generic" - if thin_pool_chunk_size is defined, use it.
# Otherwise, calcucate the chunk size based on # Otherwise, calculate the chunk size based on
# estimation and device hints exposed in sysfs: # estimation and device hints exposed in sysfs:
# the minimum_io_size. The chunk size is always # the minimum_io_size. The chunk size is always
# at least 64KiB. # at least 64KiB.

View File

@ -1,4 +1,4 @@
allocation { allocation {
thin_pool_chunk_size_calculation = "performance" thin_pool_chunk_size_policy = "performance"
thin_pool_zero = 0 thin_pool_zero = 0
} }

View File

@ -141,9 +141,9 @@
# define DEFAULT_ACTIVATION 0 # define DEFAULT_ACTIVATION 0
#endif #endif
# define DEFAULT_RESERVED_MEMORY 8192 #define DEFAULT_RESERVED_MEMORY 8192
# define DEFAULT_RESERVED_STACK 64 /* KB */ #define DEFAULT_RESERVED_STACK 64 /* KB */
# define DEFAULT_PROCESS_PRIORITY -18 #define DEFAULT_PROCESS_PRIORITY -18
#define DEFAULT_AUTO_SET_ACTIVATION_SKIP 1 #define DEFAULT_AUTO_SET_ACTIVATION_SKIP 1
#define DEFAULT_USE_LINEAR_TARGET 1 #define DEFAULT_USE_LINEAR_TARGET 1

View File

@ -5541,7 +5541,7 @@ static int _recalculate_thin_pool_chunk_size_with_dev_hints(struct lvcreate_para
struct cmd_context *cmd = pool_lv->vg->cmd; struct cmd_context *cmd = pool_lv->vg->cmd;
unsigned long previous_hint = 0, hint = 0; unsigned long previous_hint = 0, hint = 0;
uint32_t chunk_size = lp->chunk_size; uint32_t chunk_size = lp->chunk_size;
uint32_t default_chunk_size = lp->thin_chunk_size_calc_method == THIN_CHUNK_SIZE_CALC_METHOD_PERFORMANCE ? uint32_t default_chunk_size = lp->thin_chunk_size_calc_policy == THIN_CHUNK_SIZE_CALC_METHOD_PERFORMANCE ?
DEFAULT_THIN_POOL_CHUNK_SIZE_PERFORMANCE*2 : DEFAULT_THIN_POOL_CHUNK_SIZE*2; DEFAULT_THIN_POOL_CHUNK_SIZE_PERFORMANCE*2 : DEFAULT_THIN_POOL_CHUNK_SIZE*2;
if (lp->passed_args & PASS_ARG_CHUNK_SIZE || if (lp->passed_args & PASS_ARG_CHUNK_SIZE ||
@ -5552,7 +5552,7 @@ static int _recalculate_thin_pool_chunk_size_with_dev_hints(struct lvcreate_para
dm_list_iterate_items(seg, &pool_data_lv->segments) { dm_list_iterate_items(seg, &pool_data_lv->segments) {
pv = seg_pv(seg, 0); pv = seg_pv(seg, 0);
if (lp->thin_chunk_size_calc_method == THIN_CHUNK_SIZE_CALC_METHOD_PERFORMANCE) if (lp->thin_chunk_size_calc_policy == THIN_CHUNK_SIZE_CALC_METHOD_PERFORMANCE)
hint = dev_optimal_io_size(cmd->dev_types, pv_dev(pv)); hint = dev_optimal_io_size(cmd->dev_types, pv_dev(pv));
else else
hint = dev_minimum_io_size(cmd->dev_types, pv_dev(pv)); hint = dev_minimum_io_size(cmd->dev_types, pv_dev(pv));

View File

@ -728,7 +728,7 @@ struct lvcreate_params {
thin_discards_t discards; /* thin */ thin_discards_t discards; /* thin */
#define THIN_CHUNK_SIZE_CALC_METHOD_GENERIC 0x01 #define THIN_CHUNK_SIZE_CALC_METHOD_GENERIC 0x01
#define THIN_CHUNK_SIZE_CALC_METHOD_PERFORMANCE 0x02 #define THIN_CHUNK_SIZE_CALC_METHOD_PERFORMANCE 0x02
int thin_chunk_size_calc_method; int thin_chunk_size_calc_policy;
const char *origin; /* snap */ const char *origin; /* snap */
const char *pool; /* thin */ const char *pool; /* thin */

View File

@ -582,7 +582,7 @@ static int _get_pool_chunk_size_calc(const char *str,
*chunk_size = DEFAULT_THIN_POOL_CHUNK_SIZE_PERFORMANCE * 2; *chunk_size = DEFAULT_THIN_POOL_CHUNK_SIZE_PERFORMANCE * 2;
} }
else { else {
log_error("Thin pool chunk size calculation method \"%s\" is unknown.", str); log_error("Thin pool chunk size calculation policy \"%s\" is unrecognised.", str);
return 0; return 0;
} }

View File

@ -34,7 +34,7 @@ struct lvconvert_params {
int wait_completion; int wait_completion;
int need_polling; int need_polling;
int thin_chunk_size_calc_method; int thin_chunk_size_calc_policy;
uint32_t chunk_size; uint32_t chunk_size;
uint32_t region_size; uint32_t region_size;
@ -2329,7 +2329,7 @@ static int _lvconvert_thinpool(struct cmd_context *cmd,
if (!lp->pool_metadata_lv_name) { if (!lp->pool_metadata_lv_name) {
if (!update_pool_params(pool_lv->vg, lp->target_attr, lp->passed_args, if (!update_pool_params(pool_lv->vg, lp->target_attr, lp->passed_args,
pool_lv->le_count, pool_lv->vg->extent_size, pool_lv->le_count, pool_lv->vg->extent_size,
&lp->thin_chunk_size_calc_method, &lp->chunk_size, &lp->thin_chunk_size_calc_policy, &lp->chunk_size,
&lp->discards, &lp->poolmetadata_size, &lp->zero)) &lp->discards, &lp->poolmetadata_size, &lp->zero))
return_0; return_0;
@ -2441,7 +2441,7 @@ static int _lvconvert_thinpool(struct cmd_context *cmd,
} }
if (!update_pool_params(pool_lv->vg, lp->target_attr, lp->passed_args, if (!update_pool_params(pool_lv->vg, lp->target_attr, lp->passed_args,
pool_lv->le_count, pool_lv->vg->extent_size, pool_lv->le_count, pool_lv->vg->extent_size,
&lp->thin_chunk_size_calc_method, &lp->chunk_size, &lp->thin_chunk_size_calc_policy, &lp->chunk_size,
&lp->discards, &lp->poolmetadata_size, &lp->zero)) &lp->discards, &lp->poolmetadata_size, &lp->zero))
return_0; return_0;
} }
@ -2723,7 +2723,7 @@ static int lvconvert_single(struct cmd_context *cmd, struct lvconvert_params *lp
if (arg_count(cmd, thinpool_ARG) && if (arg_count(cmd, thinpool_ARG) &&
!get_pool_params(cmd, lv_config_profile(lv), !get_pool_params(cmd, lv_config_profile(lv),
&lp->passed_args, &lp->thin_chunk_size_calc_method, &lp->passed_args, &lp->thin_chunk_size_calc_policy,
&lp->chunk_size, &lp->discards, &lp->chunk_size, &lp->discards,
&lp->poolmetadata_size, &lp->zero)) &lp->poolmetadata_size, &lp->zero))
goto_bad; goto_bad;

View File

@ -336,7 +336,7 @@ static int _update_extents_params(struct volume_group *vg,
if (lp->create_thin_pool) { if (lp->create_thin_pool) {
if (!update_pool_params(vg, lp->target_attr, lp->passed_args, if (!update_pool_params(vg, lp->target_attr, lp->passed_args,
lp->extents, vg->extent_size, lp->extents, vg->extent_size,
&lp->thin_chunk_size_calc_method, &lp->thin_chunk_size_calc_policy,
&lp->chunk_size, &lp->discards, &lp->chunk_size, &lp->discards,
&lp->poolmetadatasize, &lp->zero)) &lp->poolmetadatasize, &lp->zero))
return_0; return_0;
@ -877,7 +877,7 @@ static int _lvcreate_params(struct lvcreate_params *lp,
!get_stripe_params(cmd, &lp->stripes, &lp->stripe_size) || !get_stripe_params(cmd, &lp->stripes, &lp->stripe_size) ||
(lp->create_thin_pool && (lp->create_thin_pool &&
!get_pool_params(cmd, NULL, &lp->passed_args, !get_pool_params(cmd, NULL, &lp->passed_args,
&lp->thin_chunk_size_calc_method, &lp->thin_chunk_size_calc_policy,
&lp->chunk_size, &lp->discards, &lp->chunk_size, &lp->discards,
&lp->poolmetadatasize, &lp->zero)) || &lp->poolmetadatasize, &lp->zero)) ||
!_read_mirror_params(lp, cmd) || !_read_mirror_params(lp, cmd) ||