diff options
author | Dave Wysochanski <dwysocha@redhat.com> | 2009-07-26 02:34:09 +0000 |
---|---|---|
committer | Dave Wysochanski <dwysocha@redhat.com> | 2009-07-26 02:34:09 +0000 |
commit | 9963d0710e3677ec429b6d64208328128e6eb9f4 (patch) | |
tree | 2ab83cf3e5e9f04f759661b34bdefa4ca6f48a06 /tools/lvcreate.c | |
parent | c42b235610c41c0803a63d344578e8c360e57748 (diff) | |
download | lvm2-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.c | 29 |
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; |