1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-02-24 17:57:48 +03:00

extract compose_log_line

This commit is contained in:
Alasdair Kergon 2005-04-17 23:59:04 +00:00
parent ef9188078d
commit f1379332dc
4 changed files with 36 additions and 6 deletions

View File

@ -727,6 +727,25 @@ static int _emit_target_line(struct dev_manager *dm, struct dm_task *dmt,
return 1;
}
int compose_log_line(struct dev_manager *dm, struct lv_segment *seg,
char *params, size_t paramsize, int *pos, int areas,
uint32_t region_size)
{
int tw;
tw = lvm_snprintf(params, paramsize, "core 1 %u %u ",
region_size, areas);
if (tw < 0) {
stack;
return -1;
}
*pos += tw;
return 1;
}
int compose_areas_line(struct dev_manager *dm, struct lv_segment *seg,
char *params, size_t paramsize, int *pos, int start_area,
int areas)

View File

@ -19,7 +19,12 @@
struct dev_manager;
struct lv_segment;
int compose_areas_line(struct dev_manager *dm, struct lv_segment *seg, char *params, size_t paramsize, int *pos,
int start_area, int areas);
int compose_areas_line(struct dev_manager *dm, struct lv_segment *seg,
char *params, size_t paramsize, int *pos,
int start_area, int areas);
int compose_log_line(struct dev_manager *dm, struct lv_segment *seg,
char *params, size_t paramsize, int *pos, int areas,
uint32_t region_size);
#endif

View File

@ -109,6 +109,11 @@ static int _add_pv_to_vg(struct format_instance *fid, struct volume_group *vg,
return 1;
}
static void _copy_pv(struct physical_volume *pv_to, struct physical_volume *pv_from)
{
memcpy(pv_to, pv_from, sizeof(*pv_to));
}
int get_pv_from_vg_by_id(const struct format_type *fmt, const char *vg_name,
const char *id, struct physical_volume *pv)
{
@ -130,7 +135,7 @@ int get_pv_from_vg_by_id(const struct format_type *fmt, const char *vg_name,
list_iterate(pvh, &vg->pvs) {
pvl = list_item(pvh, struct pv_list);
if (id_equal(&pvl->pv->id, (const struct id *) id)) {
memcpy(pv, pvl->pv, sizeof(*pv));
_copy_pv(pv, pvl->pv);
return 1;
}
}

View File

@ -131,6 +131,7 @@ static int _compose_target_line(struct dev_manager *dm, struct pool *mem,
int areas = seg->area_count;
int start_area = 0u;
uint32_t region_size, region_max;
int ret;
if (!*target_state)
*target_state = _init_target(mem, cft);
@ -166,10 +167,10 @@ static int _compose_target_line(struct dev_manager *dm, struct pool *mem,
region_size);
}
if ((*pos = lvm_snprintf(params, paramsize, "core 1 %u %u ",
region_size, areas)) < 0) {
if ((ret = compose_log_line(dm, seg, params, paramsize, pos,
areas, region_size)) <= 0) {
stack;
return -1;
return ret;
}
}