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:
parent
0d03503a45
commit
04d9a52684
@ -1 +1 @@
|
|||||||
1.02.82-git (2013-09-23)
|
1.02.82-git (2013-10-04)
|
||||||
|
12
WHATS_NEW
12
WHATS_NEW
@ -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.
|
||||||
|
@ -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*.
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
@ -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));
|
||||||
|
@ -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 */
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -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) ||
|
||||||
|
Loading…
x
Reference in New Issue
Block a user