[libvirt] [PATCH] storage: Round up capacity for LVM volume creation

Osier Yang jyang at redhat.com
Sat Jan 22 11:18:00 UTC 2011


If vol->capacity is odd, the capacity will be rounded down
by devision, this patch is to round it up instead of rounding
down, to be safer in case of one writes to the volume with the
size he used to create.

* src/storage/storage_backend_logical.c
---
 src/storage/storage_backend_logical.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/src/storage/storage_backend_logical.c b/src/storage/storage_backend_logical.c
index 203fe5d..2057692 100644
--- a/src/storage/storage_backend_logical.c
+++ b/src/storage/storage_backend_logical.c
@@ -604,7 +604,10 @@ virStorageBackendLogicalCreateVol(virConnectPtr conn,
         cmdargv = cmdargvsnap;
     }

-    snprintf(size, sizeof(size)-1, "%lluK", vol->capacity/1024);
+    unsigned long long int capacity;
+    capacity = vol->capacity/1024 + (vol->capacity%1024 > 0 ? 1 : 0);
+
+    snprintf(size, sizeof(size)-1, "%lluK", capacity);
     size[sizeof(size)-1] = '\0';

     vol->type = VIR_STORAGE_VOL_BLOCK;
--
1.7.3.2




More information about the libvir-list mailing list