Eric Blake
2018-Nov-05 17:49 UTC
Re: [Libguestfs] [Qemu-devel] How to emulate block I/O timeout on qemu side?
On 11/2/18 3:11 AM, Dongli Zhang wrote:> Hi, > > Is there any way to emulate I/O timeout on qemu side (not fault injection in VM > kernel) without modifying qemu source code?You may be interested in Rich's work on nbdkit. If you don't mind the overhead of the host connecting through NBD, then you can use nbdkit's delay and fault-injection filters for inserting delays or even run-time-controllable failures to investigate how the guest reacts to those situations> > For instance, I would like to observe/study/debug the I/O timeout handling of > nvme, scsi, virtio-blk (not supported) of VM kernel. > > Is there a way to trigger this on purpose on qemu side? > > Thank you very much! > > Dongli Zhang > >-- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
Dongli Zhang
2018-Nov-06 06:17 UTC
Re: [Libguestfs] [Qemu-devel] How to emulate block I/O timeout on qemu side?
On 11/06/2018 01:49 AM, Eric Blake wrote:> On 11/2/18 3:11 AM, Dongli Zhang wrote: >> Hi, >> >> Is there any way to emulate I/O timeout on qemu side (not fault injection in VM >> kernel) without modifying qemu source code? > > You may be interested in Rich's work on nbdkit. If you don't mind the overhead > of the host connecting through NBD, then you can use nbdkit's delay and > fault-injection filters for inserting delays or even run-time-controllable > failures to investigate how the guest reacts to those situationsThank you all very much for the suggestions. I will take a look on nbdkit. So far I am reproducing the issue with NFS (by shutdown the link to NFS where the image is placed on purpose) but it did not work well.> >> >> For instance, I would like to observe/study/debug the I/O timeout handling of >> nvme, scsi, virtio-blk (not supported) of VM kernel. >> >> Is there a way to trigger this on purpose on qemu side? >> >> Thank you very much! >> >> Dongli Zhang >> >> >Dongli Zhang
Richard W.M. Jones
2018-Nov-06 09:14 UTC
Re: [Libguestfs] [Qemu-devel] How to emulate block I/O timeout on qemu side?
On Tue, Nov 06, 2018 at 02:17:46PM +0800, Dongli Zhang wrote:> On 11/06/2018 01:49 AM, Eric Blake wrote: > > On 11/2/18 3:11 AM, Dongli Zhang wrote: > >> Hi, > >> > >> Is there any way to emulate I/O timeout on qemu side (not fault > >> injection in VM kernel) without modifying qemu source code? > > > > You may be interested in Rich's work on nbdkit. If you don't mind > > the overhead of the host connecting through NBD, then you can use > > nbdkit's delay and fault-injection filters for inserting delays or > > even run-time-controllable failures to investigate how the guest > > reacts to those situations > > > Thank you all very much for the suggestions. I will take a look on nbdkit.These links should help: https://rwmj.wordpress.com/2018/09/04/nbdkit-for-loopback-pt-2-injecting-errors/ https://rwmj.wordpress.com/2018/09/06/nbdkit-for-loopback-pt-7-a-slow-disk/ This link shows how to combine delay and error filters together: https://rwmj.wordpress.com/2018/11/04/nbd-graphical-viewer/ Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 100 libraries supported. http://fedoraproject.org/wiki/MinGW
Reasonably Related Threads
- Re: [Qemu-devel] How to emulate block I/O timeout on qemu side?
- Re: [Qemu-devel] How to emulate block I/O timeout on qemu side?
- Re: [Qemu-devel] How to emulate block I/O timeout on qemu side?
- virtio-blk: should num_vqs be limited by num_possible_cpus()?
- virtio-blk: should num_vqs be limited by num_possible_cpus()?