[lvm-devel] [PATCH 10/17] Add pe_start_locked parameter to pv_create fn.
Peter Rajnoha
prajnoha at redhat.com
Mon Jan 24 11:04:01 UTC 2011
So we can define and hint the metadata area handling code that the
pe_start is supposed to be firmly set to a certain value and it should
not be changed during calculations.
Signed-off-by: Peter Rajnoha <prajnoha at redhat.com>
---
lib/metadata/metadata-exported.h | 1 +
lib/metadata/metadata.c | 4 +++-
tools/vgconvert.c | 2 +-
3 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/lib/metadata/metadata-exported.h b/lib/metadata/metadata-exported.h
index da62764..627d098 100644
--- a/lib/metadata/metadata-exported.h
+++ b/lib/metadata/metadata-exported.h
@@ -394,6 +394,7 @@ struct physical_volume *pv_create(const struct cmd_context *cmd,
unsigned long data_alignment,
unsigned long data_alignment_offset,
uint64_t pe_start,
+ int pe_start_locked,
uint32_t existing_extent_count,
uint32_t existing_extent_size,
int pvmetadatacopies, uint64_t pvmetadatasize,
diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c
index 591f7b5..419dcfc 100644
--- a/lib/metadata/metadata.c
+++ b/lib/metadata/metadata.c
@@ -1486,7 +1486,8 @@ struct physical_volume * pvcreate_single(struct cmd_context *cmd,
dm_list_init(&mdas);
if (!(pv = pv_create(cmd, dev, pp->idp, pp->size,
pp->data_alignment, pp->data_alignment_offset,
- pp->pe_start, pp->extent_count, pp->extent_size,
+ pp->pe_start, pp->pe_start ? 1 : 0,
+ pp->extent_count, pp->extent_size,
pp->pvmetadatacopies, pp->pvmetadatasize,
pp->metadataignore, &mdas))) {
log_error("Failed to setup physical volume \"%s\"", pv_name);
@@ -1591,6 +1592,7 @@ struct physical_volume *pv_create(const struct cmd_context *cmd,
unsigned long data_alignment,
unsigned long data_alignment_offset,
uint64_t pe_start,
+ int pe_start_locked,
uint32_t existing_extent_count,
uint32_t existing_extent_size,
int pvmetadatacopies, uint64_t pvmetadatasize,
diff --git a/tools/vgconvert.c b/tools/vgconvert.c
index acae0fc..81ff616 100644
--- a/tools/vgconvert.c
+++ b/tools/vgconvert.c
@@ -125,7 +125,7 @@ static int vgconvert_single(struct cmd_context *cmd, const char *vg_name,
dm_list_init(&mdas);
if (!(pv = pv_create(cmd, pv_dev(existing_pv),
&existing_pv->id, size, 0, 0,
- pe_start, pv_pe_count(existing_pv),
+ pe_start, 1, pv_pe_count(existing_pv),
pv_pe_size(existing_pv), pvmetadatacopies,
pvmetadatasize, 0, &mdas))) {
log_error("Failed to setup physical volume \"%s\"",
--
1.7.3.4
More information about the lvm-devel
mailing list