[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [Bug 1422307] Re: qemu-nbd corrupts files
From: |
Max Reitz |
Subject: |
[Qemu-devel] [Bug 1422307] Re: qemu-nbd corrupts files |
Date: |
Tue, 17 Feb 2015 14:50:08 -0000 |
Hi Pierre,
I can reproduce the bug with a 2 GB VDI image with a single
FAT32-formatted partition (on git master):
# cp src.vdi test.vdi
# ./qemu-nbd -c /dev/nbd0 test.vdi
# dd if=/dev/urandom of=/dev/nbd0 bs=1M count=64
64+0 records in
64+0 records out
67108864 bytes (67 MB) copied, 3.34091 s, 20.1 MB/s
# md5sum /dev/nbd0
bfa6726d0d8fe752c0c7dccbf770fae6 /dev/nbd0
# sync
# echo 1 > /proc/sys/vm/drop_caches
# md5sum /dev/nbd0
cb4762769e09ed6da5e327710bfb3996 /dev/nbd0
# ./qemu-nbd -d /dev/nbd0
/dev/nbd0 disconnected
Using qcow2 or not using NBD I cannot reproduce the issue. Using a qcow2
image and converting it to VDI, the issue appears again.
Using an empty VDI image, or one filled with random data, the issue does
not appear either.
I have attached a qcow2 image for others to test:
# ./qemu-img convert -O vdi src.qcow2 test.vdi; ./qemu-nbd -c /dev/nbd0
test.vdi; dd if=/dev/urandom of=/dev/nbd0 bs=1M count=64; md5sum /dev/nbd0;
sync; echo 1 > /proc/sys/vm/drop_caches; md5sum /dev/nbd0; ./qemu-nbd -d
/dev/nbd0
64+0 records in
64+0 records out
67108864 bytes (67 MB) copied, 3.33071 s, 20.1 MB/s
9f683b4a58cecdd8da04ec2f1b7abc4a /dev/nbd0
efb1cdd5ebe1dd326056eb2f2e500944 /dev/nbd0
/dev/nbd0 disconnected
Unfortunately, I do not yet know the cause of this issue.
Max
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1422307
Title:
qemu-nbd corrupts files
Status in QEMU:
New
Bug description:
Dear all,
On Trusty, in certain situations, try to copy files over a qemu-nbd
mounted file system leads to write errors (and thus, file corruption).
Here is the last example I tried:
-> virtual disk is a VDI disk
-> It has only one partition, in FAT
Here is my mount process:
# modprobe nbd max_part=63
# qemu-nbd -c /dev/nbd0 "virtual_disk.vdi"
# partprobe /dev/nbd0
# mount /dev/nbd0p1 /tmp/mnt/
Partition is properly mounted at that point:
/dev/nbd0p1 on /tmp/mnt type vfat (rw)
Now, when I copy a file (rather big, ~28MB):
# cp file_to_copy /tmp/mnt/ ; sync
# md5sum /tmp/mnt/file_to_copy
2efc9f32e4267782b11d63d2f128a363 /tmp/mnt/file_to_copy
# umount /tmp/mnt
# mount /dev/nbd0p1 /tmp/mnt/
# md5sum /tmp/mnt/file_to_copy
42b0a3bf73f704d03ce301716d7654de /tmp/mnt/file_to_copy
The first hash was obviously the right one.
On a previous attempt I did, I spotted thanks to vbindiff that parts of the
file were just filed with 0s instead of actual data.
It will randomly work after several attempts to write.
Version information:
# qemu-nbd --version
qemu-nbd version 0.0.1
Written by Anthony Liguori.
Cheers,
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1422307/+subscriptions
[Prev in Thread] |
Current Thread |
[Next in Thread] |