From: Joe Thornber Date: Wed, 10 Oct 2001 15:30:31 +0000 (+0000) Subject: o builds a very sub-optimal table X-Git-Tag: v2_02_91~6191 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=758b8b4ba03b8f0b63216324e6c548dad78a9bfe;p=lvm2.git o builds a very sub-optimal table --- diff --git a/lib/activate/table-build.c b/lib/activate/table-build.c new file mode 100644 index 000000000..c88d0b320 --- /dev/null +++ b/lib/activate/table-build.c @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2001 Sistina Software (UK) Limited. + * + * This file is released under the GPL. + */ + +#include "table-build.c" + +/* FIXME: optimise linear runs */ +int build_table(struct volume_group *vg, struct logical_volume *lv, + const char *file) +{ + int i; + uint64_t sector = 0; + uint64_t pe_size = vg->extent_size; + uint64_t dest; + struct pe_specifier *pes; + FILE *fp = fopen(file, "w"); + + if (!fp) { + log_err("couldn't open '%s' to write table", file); + return 0; + } + + for (i = 0; i < lv->le_count; i++) { + pes = lv->map + i; + dest = pes->pv->pe_start + (pe_size * pes->pe); + fprintf(fp, "%ull %ull linear %s %ull\n", + sector, pe_size, pes->pv->dev->name, dest); + sector += pe_size; + } + fclose(fp); + + return 1; +} diff --git a/lib/activate/table-build.h b/lib/activate/table-build.h new file mode 100644 index 000000000..d783bf107 --- /dev/null +++ b/lib/activate/table-build.h @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2001 Sistina Software (UK) Limited. + * + * This file is released under the GPL. + */ + +#ifndef TABLE_BUILD_H +#define TABLE_BUILD_H + +int build_table(struct volume_group *vg, struct logical_volume *lv, + const char *file); + +#endif