qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]