qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 13/47] block: introduce block job error


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH 13/47] block: introduce block job error
Date: Mon, 06 Aug 2012 12:58:02 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120615 Thunderbird/13.0.1

Il 06/08/2012 12:45, Kevin Wolf ha scritto:
>> In the long term
>> we will add the failing blockdev name to the blockjob iostatus.
> I think you misunderstood. What I was trying to say is that with the
> same reasoning we'd need a field that doesn't automatically reset its
> status on 'cont' not only for block jobs, but also for regular guest disks.

I'm not sure why.  There cannot be changes to the guest-triggered
iostatus after you do a stop.

On the other hand, a block job still runs while the guest is stopped
(and we cannot change this because it'd be backwards-incompatible), so
you can have the following (> means command, < means event):

   > stop                 (no iostatus)
   < BLOCK_JOB_ERROR      (iostatus=failed on source)
   > cont                 (no iostatus)
     libvirtd restarts
   > query-block          (no iostatus)

Compare this with guest-initiated I/O:

   > stop                 (no iostatus)
   < BLOCK_IO_ERROR       (iostatus=failed)
   > cont                 (no iostatus)
     libvirtd restarts
     QEMU retries I/O, fails
   < BLOCK_IO_ERROR       (iostatus=failed)
   > query-block          (iostatus=failed)

> If you try fixing the problem by adding a field in BlockJob, it may well
> be fixed for block jobs, but you still need to add it in the generic
> place later so that regular disks are covered as well.

Regular disks are covered because each entry in query-block has its own
iostatus.  The only problematic case is now if two different backing
files fail for unrelated reasons.

Paolo



reply via email to

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