[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] block: allow resizing of images residing on hos
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH] block: allow resizing of images residing on host devices |
Date: |
Fri, 09 Sep 2011 11:37:57 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:6.0) Gecko/20110816 Thunderbird/6.0 |
Am 07.09.2011 13:02, schrieb Christoph Hellwig:
> Allow to resize images that reside on host devices up to the available
> space. This allows to grow images after resizing the device manually or
> vice versa.
>
> Reviewed-by: Christoph Hellwig <address@hidden>
You mean Signed-off-by, no?
> Index: qemu/block/raw-posix.c
> ===================================================================
> --- qemu.orig/block/raw-posix.c 2011-09-01 17:37:42.579651525 +0200
> +++ qemu/block/raw-posix.c 2011-09-01 17:43:28.882967337 +0200
> @@ -645,10 +645,23 @@ static void raw_close(BlockDriverState *
> static int raw_truncate(BlockDriverState *bs, int64_t offset)
> {
> BDRVRawState *s = bs->opaque;
> - if (s->type != FTYPE_FILE)
> - return -ENOTSUP;
> - if (ftruncate(s->fd, offset) < 0)
> + struct stat st;
> +
> + if (fstat(s->fd, &st))
> return -errno;
Coding style requires braces.
> +
> + if (S_ISREG(st.st_mode)) {
> + if (ftruncate(s->fd, offset) < 0)
> + return -errno;
Here as well.
> + } else if (S_ISCHR(st.st_mode) || S_ISBLK(st.st_mode)) {
> + if (offset > raw_getlength(bs)) {
> + return -EINVAL;
> + }
> + return 0;
This return isn't needed and it's not there in the S_ISREG case. It
should be symmetrical at least.
Semantically the patch looks okay.
Kevin
Re: [Qemu-devel] QEMU online guest disk resize wrt host block devices, Daniel P. Berrange, 2011/09/01