qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 5/5] mirror: Check for bdrv_get_info result


From: Fam Zheng
Subject: Re: [Qemu-devel] [PATCH 5/5] mirror: Check for bdrv_get_info result
Date: Thu, 14 Nov 2013 09:26:34 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0

On 2013年11月13日 23:34, Jeff Cody wrote:
On Wed, Nov 13, 2013 at 08:53:14AM +0800, Fam Zheng wrote:
bdrv_get_info could fail. Add check before using the returned value.

Signed-off-by: Fam Zheng <address@hidden>
---
  block/mirror.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/block/mirror.c b/block/mirror.c
index 7b95acf..c0c321b 100644
--- a/block/mirror.c
+++ b/block/mirror.c
@@ -320,8 +320,8 @@ static void coroutine_fn mirror_run(void *opaque)
      bdrv_get_backing_filename(s->target, backing_filename,
                                sizeof(backing_filename));
      if (backing_filename[0] && !s->target->backing_hd) {
-        bdrv_get_info(s->target, &bdi);
-        if (s->granularity < bdi.cluster_size) {
+        ret = bdrv_get_info(s->target, &bdi);
+        if (ret == 0 && s->granularity < bdi.cluster_size) {

For ret < 0, I think we should exit on error (at least in cases where
ret < 0 && ret != -ENOTSUP).


We only need the cluster_size here, which is optional to set up operation granularity. Exiting the block job because bdrv_get_info fails (which is not a critical error) is worse in fault tolerance sense, so I'd like to keep this way.

Paolo, any ideas?

Fam




reply via email to

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