summaryrefslogtreecommitdiffstats
path: root/tools/lvcreate.c
diff options
context:
space:
mode:
authorDave Wysochanski <dwysocha@redhat.com>2009-07-26 02:34:09 +0000
committerDave Wysochanski <dwysocha@redhat.com>2009-07-26 02:34:09 +0000
commit9963d0710e3677ec429b6d64208328128e6eb9f4 (patch)
tree2ab83cf3e5e9f04f759661b34bdefa4ca6f48a06 /tools/lvcreate.c
parentc42b235610c41c0803a63d344578e8c360e57748 (diff)
downloadlvm2-9963d0710e3677ec429b6d64208328128e6eb9f4.tar.gz
lvm2-9963d0710e3677ec429b6d64208328128e6eb9f4.tar.xz
lvm2-9963d0710e3677ec429b6d64208328128e6eb9f4.zip
Move extents_from_size from lvcreate into internal library so we can reuse.
Author: Dave Wysochanski <dwysocha@redhat.com>
Diffstat (limited to 'tools/lvcreate.c')
-rw-r--r--tools/lvcreate.c29
1 files changed, 2 insertions, 27 deletions
diff --git a/tools/lvcreate.c b/tools/lvcreate.c
index 8c13954b..53943d7b 100644
--- a/tools/lvcreate.c
+++ b/tools/lvcreate.c
@@ -25,9 +25,6 @@ struct lvcreate_cmdline_params {
int pv_count;
};
-static uint64_t _extents_from_size(struct cmd_context *cmd, uint64_t size,
- uint32_t extent_size);
-
static int _lvcreate_name_params(struct lvcreate_params *lp,
struct cmd_context *cmd,
int *pargc, char ***pargv)
@@ -136,12 +133,12 @@ static int _update_extents_params(struct volume_group *vg,
uint32_t pv_extent_count;
if (lcp->size &&
- !(lp->extents = _extents_from_size(vg->cmd, lcp->size,
+ !(lp->extents = extents_from_size(vg->cmd, lcp->size,
vg->extent_size)))
return_0;
if (lp->voriginsize &&
- !(lp->voriginextents = _extents_from_size(vg->cmd, lp->voriginsize,
+ !(lp->voriginextents = extents_from_size(vg->cmd, lp->voriginsize,
vg->extent_size)))
return_0;
@@ -573,28 +570,6 @@ static int _lvcreate_params(struct lvcreate_params *lp,
return 1;
}
-static uint64_t _extents_from_size(struct cmd_context *cmd, uint64_t size,
- uint32_t extent_size)
-{
- if (size % extent_size) {
- size += extent_size - size % extent_size;
- log_print("Rounding up size to full physical extent %s",
- display_size(cmd, size));
- }
-
- if (size > (uint64_t) UINT32_MAX * extent_size) {
- log_error("Volume too large (%s) for extent size %s. "
- "Upper limit is %s.",
- display_size(cmd, size),
- display_size(cmd, (uint64_t) extent_size),
- display_size(cmd, (uint64_t) UINT32_MAX *
- extent_size));
- return 0;
- }
-
- return (uint64_t) size / extent_size;
-}
-
int lvcreate(struct cmd_context *cmd, int argc, char **argv)
{
int r = ECMD_PROCESSED;