]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
storage: Round up capacity for LVM volume creation
authorOsier Yang <jyang@redhat.com>
Thu, 27 Jan 2011 08:28:19 +0000 (16:28 +0800)
committerDaniel Veillard <veillard@redhat.com>
Thu, 27 Jan 2011 08:28:19 +0000 (16:28 +0800)
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: make sure size is not rounded down

src/storage/storage_backend_logical.c

index 203fe5d8712b870b9558ccc960bd3f85aa89214d..389ecd7e5dd10cf31301342ee231eb44b4184547 100644 (file)
@@ -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 + 1023) /1024;
+
+    snprintf(size, sizeof(size)-1, "%lluK", capacity);
     size[sizeof(size)-1] = '\0';
 
     vol->type = VIR_STORAGE_VOL_BLOCK;