[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH] storage: Ensure 'qemu-img resize' size arg is a 512 multiple



On 14/05/13 21:50, Christophe Fergeau wrote:
qemu-img resize will fail with "The new size must be a multiple of 512"
if libvirt doesn't round it first.
This fixes rhbz#951495

Signed-off-by: Christophe Fergeau <cfergeau redhat com>
---
  src/storage/storage_backend_fs.c | 4 ++++
  1 file changed, 4 insertions(+)

diff --git a/src/storage/storage_backend_fs.c b/src/storage/storage_backend_fs.c
index 9b83e57..99973b0 100644
--- a/src/storage/storage_backend_fs.c
+++ b/src/storage/storage_backend_fs.c
@@ -1219,6 +1219,10 @@ virStorageBackendFilesystemResizeQemuImg(const char *path,
          return -1;
      }
+ /* Round capacity up to the closest 512 multiple as qemu-img errors out
+     * on sizes which are not a multiple of 512 */
+    capacity = (capacity + 511) / 512 * 512;

There is macro VIR_DIV_UP for the purpose.  And should we document
it somewhere?  I guess one will file bug like "specify 1 for vol-resize, but
the result is 512".

Osier


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]