Re: raw disks no longer work in latest kvm (kvm-88 was fine)

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

 



On 05/23/2010 09:43 PM, Antoine Martin wrote:
On 05/23/2010 09:18 PM, Avi Kivity wrote:
On 05/23/2010 05:07 PM, Antoine Martin wrote:
On 05/23/2010 06:57 PM, Avi Kivity wrote:
On 05/23/2010 11:53 AM, Antoine Martin wrote:
I'm not: 64-bit host and 64-bit guest.
Just to be sure, I've tested that patch and still no joy:
  /dev/vdc: read failed after 0 of 512 at 0: Input/output error
  /dev/vdc: read failed after 0 of 512 at 0: Input/output error
  /dev/vdc: read failed after 0 of 2048 at 0: Input/output error
pread is still broken on this big raw disk.


Can you summarize your environment and reproducer again? The thread is so long it is difficult to understand exactly what you are testing.

Sure thing:

Description of the problem:
A guest tries to mount a large raw partition (1.5TB /dev/sda9 in my case), this fails with pread enabled, works with it disabled.

Did you mean: preadv?
Yes, here's what makes it work ok (as suggested by Christoph earlier in the thread) in posix-aio-compat.c:
#undef CONFIG_PREADV
#ifdef CONFIG_PREADV
static int preadv_present = 1;
#else
static int preadv_present = 0;
#endif

What has been tested:
Host has had 2.6.31.x and now 2.6.34 - with no improvement.
Guest has had numerous kernel versions and patches applied for testing (from 2.6.31.x to 2.6.34) - none made any difference. (although the recent patch stopped the large partition from getting corrupted by the merged requests bug.. yay!) It was once thought that glibc needed to be rebuilt against newer kernel headers, done that too, and rebuilt qemu-kvm afterwards. (was 2.6.28 then 2.6.31 and now 2.6.33)

What has been reported: straces, kernel error messages as above.
Here is the qemu command line (sanitized - removed the virtual disks which work fine and network config): qemu -clock dynticks -m 256 -L ./ -kernel ./bzImage-2.6.34-aio -append "root=/dev/vda" -nographic -drive file=/dev/sda9,if=virtio,cache=none

Let me know if you need any other details. I can also arrange ssh access to the system if needed.

And: 64-bit host kernel, 64-bit host userspace, yes?
Yes. (and 64-bit guest/userspace too)

Does aio=native help?
It does indeed!
  How about if=ide?
Will test with another kernel and report back (this one doesn't have any non-virtio drivers)
That also works fine.

I guess this tells you that the problem is confined to raw-disk+virtio+aio-threaded

I'm switching all my VMs to aio=native, but feel free to send patches if you want me to re-test aio=threaded

Thanks
Antoine
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux