[sheepdog-users] Stability problems with kvm using a remote sheepdog volume
morita.kazutaka at lab.ntt.co.jp
Tue Jun 12 07:04:28 CEST 2012
At Mon, 11 Jun 2012 15:22:44 +0200,
David Douard wrote:
> On 09/06/2012 12:39, David Douard wrote:
> > On 08/06/2012 16:48, MORITA Kazutaka wrote:
> >> On Fri, Jun 8, 2012 at 9:41 PM, David Douard <david.douard at logilab.fr> wrote:
> >>> Hi,
> >>> I still have very serious stability problems with kvm when using remote
> >>> sheepdog access.
> >>> I filles a bug on github about this:
> >>> https://github.com/collie/sheepdog/issues/26
> >>> Are there any other people having similar problems? What can I do to
> >>> identify the problem and try to fix it?
> >> Hi David,
> > Hi,
> >> I'm working on fixing a race condition in the qemu sheepdog block driver.
> >> I guess you are hitting the same problem. I've pushed some half baked fixes to
> >> git://github.com/kazum/qemu.git
> >> Can you try this tree?
> > I will.
> > Thanks,
> > David
> Humm, spoke a bit too quick.
> The kvm does not segfault any more, but the sheepdog volume generates
> errors (in the guest) when writing. I have many
> end_request: I/O error, dev vdc, sector 0
> in the syslog of the guest (vdc being the block device served by sheepdog).
> Running "zcav -w", the guest freezed for a while, and finally produced
> the traceback below.
I updated the qemu tree, can you try again? I also recommend to
update your sheepdog code to the latest one because a fatal network
I/O problem was fixed last week.
> If I can, I'd like to try to rebuild the kvm binary from the ubuntu
> package, just applying the required patches to fix the race condition.
> Kazataka, can you please point me the strictly required changesets in
> your git repo I must apply as patches?
The required patches are:
54de366 sheepdog: avoid sleep while traversing pending_list
3585170 sheepdog: split outstanding list into inflight and pending
b319e0a sheepdog: create all aio_reqs before sending I/Os
fead1e7 sheepdog: restart I/O when socket becomes ready in do_co_req()
72eafcf sheepdog: fix dprintf format strings
But I'm not sure you can apply them cleanly. I think it is easier to
copy block/sheepdog.c to your source tree.
More information about the sheepdog-users