1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00

pre-release

This commit is contained in:
Alasdair Kergon 2010-10-25 13:54:29 +00:00
parent 3f329bd02c
commit 2aa06d73ca
10 changed files with 44 additions and 40 deletions

View File

@ -1 +1 @@
2.02.75(2)-cvs (2010-09-24) 2.02.75(2)-cvs (2010-10-25)

View File

@ -1 +1 @@
1.02.56-cvs (2010-09-24) 1.02.56-cvs (2010-10-25)

View File

@ -1,5 +1,6 @@
Version 2.02.75 - Version 2.02.75 - 25th October 2010
===================================== ===================================
Annotate more variables and parameters as const.
Fix missing variable initialization in cluster_send() function from cmirrord. Fix missing variable initialization in cluster_send() function from cmirrord.
Fix pointer for VG name in _pv_resize_single error code path. Fix pointer for VG name in _pv_resize_single error code path.
Fix warning for changed alignment requirements for dmeventd read/write func. Fix warning for changed alignment requirements for dmeventd read/write func.
@ -7,37 +8,40 @@ Version 2.02.75 -
Don't take write lock in vgchange --refresh, --poll or --monitor. Don't take write lock in vgchange --refresh, --poll or --monitor.
Skip dm devices in scan if they contain only error targets or are empty. Skip dm devices in scan if they contain only error targets or are empty.
Fix strict-aliasing compile warning in partition table scanning. Fix strict-aliasing compile warning in partition table scanning.
Add an option to automatically extend snapshots through dmeventd. Fix pthread mutex usage deadlock in clvmd.
Remove dependency on libm, floor() is replaced with integer algorithm. Automatically extend snapshots with dmeventd according to policy in lvm.conf.
Add activation/snapshot_autoextend_threshold/percent to lvm.conf.
Fix liblvm2cmd link order to support --as-needed.
Remove dependency on libm by replacing floor() by an integer-based algorithm.
Fix hang when repairing a mirrored-log that had both devs fail. Fix hang when repairing a mirrored-log that had both devs fail.
Convey need for snapshot-merge target in lvconvert error message and man page. Convey need for snapshot-merge target in lvconvert error message and man page.
Add "devices/disable_after_error_count" to lvm.conf. Add devices/disable_after_error_count config to limit access to failing devs.
Give correct error message when creating a too-small snapshot. Give correct error message when creating a too-small snapshot.
Implement vgextend --restoremissing. Implement vgextend --restoremissing to reinstate missing devs that return.
Make lvconvert respect --yes and --force when converting an inactive log.
Refactor and add 'get' functions for lv properties/fields. Refactor and add 'get' functions for lv properties/fields.
Update script for fsadm testing. Update script for fsadm testing.
Better support of noninteractive shell execution of fsadm. Better support of noninteractive shell execution of fsadm.
Fix usage of --yes flag for ReiserFS resize in fsadm. Fix usage of --yes flag for ReiserFS resize in fsadm.
Fix detection of mounted filesystems for fsadm when udev is used. Fix detection of mounted filesystems for fsadm when udev is used.
Fix assignment of default value to LVM variable is fsadm. Fix assignment of default value to LVM variable in fsadm.
Fix support for --yes flag for fsadm. Fix support for --yes flag for fsadm.
Do not execute lvresize with --dry-run option for fsadm. Do not execute lvresize from fsadm --dry-run.
Fix fsadm return error code from user's break action. Fix fsadm return error code from user's break action.
Allow CC to be overridden at build time (for 'scan-build make'). Allow CC to be overridden at build time (for 'scan-build make').
Rename 'flags' to 'status' in struct metadata_area. Rename 'flags' to 'status' in struct metadata_area.
Avoid segfault by limiting partial mode for lvm1 metadata. (2.02.74) Avoid segfault by limiting partial mode for lvm1 metadata. (2.02.74)
Add dm_zalloc and use it and dm_pool_zalloc throughout. Use dm_zalloc and dm_pool_zalloc throughout.
Add pv_get_property and create generic internal _get_property function. Add pv_get_property and create generic internal _get_property function.
Add 'get' functions for pv and vg properties/fields. Add 'get' functions for pv and vg properties/fields.
Make generic GET_*_PROPERTY_FN macros with secondary macro for vg, pv & lv. Make generic GET_*_PROPERTY_FN macros with secondary macro for vg, pv & lv.
Add tags_format_and_copy() common function and call from _tags_disp. Add tags_format_and_copy() common function and call from _tags_disp.
Add id_format_and_copy() common function and call from _uuid_disp. Add id_format_and_copy() common function and call from _uuid_disp.
Simplify logic to create '{pv|vg|lv}_attr' strings.
Refactor report.c '*_disp' functions to call supporting functions. Refactor report.c '*_disp' functions to call supporting functions.
Refactor lib/metadata/metadata.[ch] into {pv|vg|lv}.[ch]. Move parts of metadata*.[ch] into new {pv|vg|lv}.[ch] files.
Fix memory leak of vg_read while using live copies of metadata in directories. Fix vg_read memory leak with directory-based metadata.
Fix memory leak of config_tree in reinitialization code path. Fix memory leak of config_tree in reinitialization code path.
Swap pool destruction order in dmeventd_lvm2_exit() to fix leak report. Fix pool destruction order in dmeventd_lvm2_exit() to avoid leak debug mesg.
Read whole /proc/self/maps file before working with maps entries. Read whole /proc/self/maps file before working with maps entries.
Speed up unquoting of quoted double quotes and backslashes. Speed up unquoting of quoted double quotes and backslashes.
Speed up CRC32 calculations by using a larger lookup table. Speed up CRC32 calculations by using a larger lookup table.

View File

@ -1,6 +1,8 @@
Version 1.02.56 - Version 1.02.56 - 25th October 2010
===================================== ===================================
Fix API for dm_basename() and return const pointer for const input pointer. Return const pointer from dm_basename() in libdevmapper.
Implement dmeventd -R to restart without state loss.
Add dm_zalloc and use it and dm_pool_zalloc throughout.
Add --setuuid to dmsetup rename. Add --setuuid to dmsetup rename.
Add dm_task_set_newuuid to set uuid of mapped device post-creation. Add dm_task_set_newuuid to set uuid of mapped device post-creation.

View File

@ -27,13 +27,14 @@ typedef enum { SIZE_LONG = 0, SIZE_SHORT = 1, SIZE_UNIT = 2 } size_len_t;
static const struct { static const struct {
alloc_policy_t alloc; alloc_policy_t alloc;
const char str[12]; /* must be changed when size extends 11 chars */ const char str[12]; /* must be changed when size extends 11 chars */
const char repchar;
} _policies[] = { } _policies[] = {
{ {
ALLOC_CONTIGUOUS, "contiguous"}, { ALLOC_CONTIGUOUS, "contiguous", 'c'}, {
ALLOC_CLING, "cling"}, { ALLOC_CLING, "cling", 'l'}, {
ALLOC_NORMAL, "normal"}, { ALLOC_NORMAL, "normal", 'n'}, {
ALLOC_ANYWHERE, "anywhere"}, { ALLOC_ANYWHERE, "anywhere", 'a'}, {
ALLOC_INHERIT, "inherit"} ALLOC_INHERIT, "inherit", 'i'}
}; };
static const int _num_policies = sizeof(_policies) / sizeof(*_policies); static const int _num_policies = sizeof(_policies) / sizeof(*_policies);
@ -120,6 +121,17 @@ uint64_t units_to_bytes(const char *units, char *unit_type)
return v; return v;
} }
const char alloc_policy_char(alloc_policy_t alloc)
{
int i;
for (i = 0; i < _num_policies; i++)
if (_policies[i].alloc == alloc)
return _policies[i].repchar;
return '-';
}
const char *get_alloc_string(alloc_policy_t alloc) const char *get_alloc_string(alloc_policy_t alloc)
{ {
int i; int i;

View File

@ -57,6 +57,7 @@ void display_segtypes(const struct cmd_context *cmd);
* Allocation policy display conversion routines. * Allocation policy display conversion routines.
*/ */
const char *get_alloc_string(alloc_policy_t alloc); const char *get_alloc_string(alloc_policy_t alloc);
const char alloc_policy_char(alloc_policy_t alloc);
alloc_policy_t get_alloc_from_string(const char *str); alloc_policy_t get_alloc_from_string(const char *str);
char yes_no_prompt(const char *prompt, ...) __attribute__ ((format(printf, 1, 2))); char yes_no_prompt(const char *prompt, ...) __attribute__ ((format(printf, 1, 2)));

View File

@ -15,6 +15,7 @@
#include "lib.h" #include "lib.h"
#include "metadata.h" #include "metadata.h"
#include "display.h"
#include "activate.h" #include "activate.h"
#include "toolcontext.h" #include "toolcontext.h"
#include "segtype.h" #include "segtype.h"

View File

@ -3957,22 +3957,6 @@ int pv_change_metadataignore(struct physical_volume *pv, uint32_t mda_ignored)
return 1; return 1;
} }
char alloc_policy_char(alloc_policy_t alloc)
{
switch (alloc) {
case ALLOC_CONTIGUOUS:
return 'c';
case ALLOC_CLING:
return 'l';
case ALLOC_NORMAL:
return 'n';
case ALLOC_ANYWHERE:
return 'a';
default:
return 'i';
}
}
char *tags_format_and_copy(struct dm_pool *mem, const struct dm_list *tags) char *tags_format_and_copy(struct dm_pool *mem, const struct dm_list *tags)
{ {
struct str_list *sl; struct str_list *sl;

View File

@ -412,7 +412,6 @@ int vg_mark_partial_lvs(struct volume_group *vg);
int is_mirror_image_removable(struct logical_volume *mimage_lv, void *baton); int is_mirror_image_removable(struct logical_volume *mimage_lv, void *baton);
uint64_t find_min_mda_size(struct dm_list *mdas); uint64_t find_min_mda_size(struct dm_list *mdas);
char alloc_policy_char(alloc_policy_t alloc);
char *tags_format_and_copy(struct dm_pool *mem, const struct dm_list *tags); char *tags_format_and_copy(struct dm_pool *mem, const struct dm_list *tags);
#endif #endif

View File

@ -15,6 +15,7 @@
#include "lib.h" #include "lib.h"
#include "metadata.h" #include "metadata.h"
#include "display.h"
#include "activate.h" #include "activate.h"
char *vg_fmt_dup(const struct volume_group *vg) char *vg_fmt_dup(const struct volume_group *vg)