mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
fix some issues when compiling with -D DEBUG_POOL
- fix compilation issues - fix wrong pool object maipulation (lvm dumpconfig triggers assert) - second iteration in loop _log_parallel_areas operates on non-existing object
This commit is contained in:
parent
0ef8308f1b
commit
aa8111b3cd
@ -457,9 +457,9 @@ static int _write_config(struct config_node *n, int only_one,
|
||||
line_append(" {");
|
||||
if (!_line_end(outline))
|
||||
return_0;
|
||||
_write_config(n->child, 0, outline, level + 1);
|
||||
if (!_line_start(outline))
|
||||
return_0;
|
||||
_write_config(n->child, 0, outline, level + 1);
|
||||
line_append("%s}", space);
|
||||
} else {
|
||||
/* it's a value */
|
||||
|
@ -611,12 +611,12 @@ static int _log_parallel_areas(struct dm_pool *mem, struct dm_list *parallel_are
|
||||
if (!parallel_areas)
|
||||
return 1;
|
||||
|
||||
if (!dm_pool_begin_object(mem, 256)) {
|
||||
log_error("dm_pool_begin_object failed");
|
||||
return 0;
|
||||
}
|
||||
|
||||
dm_list_iterate_items(spvs, parallel_areas) {
|
||||
if (!dm_pool_begin_object(mem, 256)) {
|
||||
log_error("dm_pool_begin_object failed");
|
||||
return 0;
|
||||
}
|
||||
|
||||
dm_list_iterate_items(pvl, &spvs->pvs) {
|
||||
if (!dm_pool_grow_object(mem, pv_dev_name(pvl->pv), strlen(pv_dev_name(pvl->pv)))) {
|
||||
log_error("dm_pool_grow_object failed");
|
||||
|
@ -14,6 +14,7 @@
|
||||
*/
|
||||
|
||||
#include "dmlib.h"
|
||||
#include <assert.h>
|
||||
|
||||
struct block {
|
||||
struct block *next;
|
||||
@ -43,7 +44,7 @@ struct dm_pool {
|
||||
/* by default things come out aligned for doubles */
|
||||
#define DEFAULT_ALIGNMENT __alignof__ (double)
|
||||
|
||||
struct pool *dm_pool_create(const char *name, size_t chunk_hint)
|
||||
struct dm_pool *dm_pool_create(const char *name, size_t chunk_hint)
|
||||
{
|
||||
struct dm_pool *mem = dm_malloc(sizeof(*mem));
|
||||
|
||||
@ -130,8 +131,6 @@ static void _append_block(struct dm_pool *p, struct block *b)
|
||||
|
||||
static struct block *_new_block(size_t s, unsigned alignment)
|
||||
{
|
||||
static const char *_oom = "Out of memory";
|
||||
|
||||
/* FIXME: I'm currently ignoring the alignment arg. */
|
||||
size_t len = sizeof(struct block) + s;
|
||||
struct block *b = dm_malloc(len);
|
||||
@ -144,12 +143,12 @@ static struct block *_new_block(size_t s, unsigned alignment)
|
||||
assert(alignment == DEFAULT_ALIGNMENT);
|
||||
|
||||
if (!b) {
|
||||
log_err(_oom);
|
||||
log_err("Out of memory");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!(b->data = dm_malloc(s))) {
|
||||
log_err(_oom);
|
||||
log_err("Out of memory");
|
||||
dm_free(b);
|
||||
return NULL;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user