Hi all. I cannot use qemu-nbd to write files to a qcow2 disk image. It always exit after a while with a segmentation fault. Here's what I'm doing:
modprobe nbd max_part=8 qemu-nbd qcow2image.img (in another shell) nbd-client localhost 10809 /dev/nbd0 mount /dev/nbd0p1 /mnt/tmp cd /mnt/tmp tar -xf file.tar.gz The qcow2 image holds a single ext4 primary partition and (of course) it is not associated with any running vm. file.tar.gz is a 7GB website backup with a big number of (mostly small) files in it. Anyway I also get a segfault trying to remove the files with "rm -rf *" nbd client is compiled from the latest sources. qemu-nbd is from qemu 1.4.0 we compiled from source and run in production without problems on Slackware64 13.37. I tried qemu-nbd from 1.6.0 with the same result. kernel is 3.4.0 Below are the last lines from "strace qemu-nbd" output. Let me know If I can help. Mario ----------------------------- sendmsg(8, {msg_name(0)=NULL, msg_iov(1)=[{"gDf\230\0\0\0\0\30\325\243\203\0\210\377\377", 16}], msg_controllen=0, msg_flags=0}, 0) = 16 write(4, "\1\0\0\0\0\0\0\0", 8) = 8 poll([{fd=8, events=POLLIN|POLLERR|POLLHUP}, {fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=6, events=POLLIN}, {fd=4, events=POLLIN}], 4, -1) = 3 ([{fd=8, revents=POLLIN}, {fd=6, revents=POLLIN}, {fd=4, revents=POLLIN}]) read(6, "\n\0\0\0\0\0\0\0", 512) = 8 read(4, "\7\0\0\0\0\0\0\0", 512) = 8 recvmsg(8, {msg_name(0)=NULL, msg_iov(1)=[{"%`\225\23\0\0\0\1p\310\243\203\0\210\377\377\0\0\0\2\0208\260\0\0\1\360\0", 28}], msg_controllen=0, msg_flags=0}, 0) = 28 recvmsg(8, {msg_name(0)=NULL, msg_iov(1)=[{"\213K\24 +\305\377\365\370T\344\371\243w\37m\200\247~\357\7\374\201t\250\213\224\364\221P{\277"..., 126976}], msg_controllen=0, msg_flags=0}, 0) = 126976 poll([{fd=8, events=POLLIN|POLLERR|POLLHUP}, {fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=6, events=POLLIN}, {fd=4, events=POLLIN}], 4, -1) = 2 ([{fd=8, revents=POLLIN}, {fd=6, revents=POLLIN}]) read(6, "\2\0\0\0\0\0\0\0", 512) = 8 recvmsg(8, {msg_name(0)=NULL, msg_iov(1)=[{"%`\225\23\0\0\0\1h\301\243\203\0\210\377\377\0\0\0\2\20:\240\0\0\1\360\0", 28}], msg_controllen=0, msg_flags=0}, 0) = 28 recvmsg(8, {msg_name(0)=NULL, msg_iov(1)=[{"\311L\321l\360o\302\373>^\217\325\336\234\37\370W\350\0165\31\371\213w,\273\373\342\363\360\n\347"..., 126976}], msg_controllen=0, msg_flags=0}, 0) = 126976 poll([{fd=8, events=POLLIN|POLLERR|POLLHUP}, {fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=6, events=POLLIN}, {fd=4, events=POLLIN}], 4, -1) = 2 ([{fd=8, revents=POLLIN}, {fd=6, revents=POLLIN}]) read(6, "\1\0\0\0\0\0\0\0", 512) = 8 recvmsg(8, {msg_name(0)=NULL, msg_iov(1)=[{"%`\225\23\0\0\0\1\0\300\243\203\0\210\377\377\0\0\0\2\20<\220\0\0\1\360\0", 28}], msg_controllen=0, msg_flags=0}, 0) = 28 recvmsg(8, {msg_name(0)=NULL, msg_iov(1)=[{";a\16Z8\224yi\317\254\366\0166\36\35F\321\3\30\254Y\212\323\10\347\236\272\364\241T\16\245"..., 126976}], msg_controllen=0, msg_flags=0}, 0) = 126976 poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=6, events=POLLIN}, {fd=4, events=POLLIN}], 3, -1) = 1 ([{fd=6, revents=POLLIN}]) read(6, "\1\0\0\0\0\0\0\0", 512) = 8 futex(0x7f4f5b187ad8, FUTEX_WAKE_PRIVATE, 1) = 1 poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=6, events=POLLIN}, {fd=4, events=POLLIN}], 3, -1) = 1 ([{fd=6, revents=POLLIN}]) read(6, "\1\0\0\0\0\0\0\0", 512) = 8 futex(0x7f4f5b187ad8, FUTEX_WAKE_PRIVATE, 1) = 1 futex(0x7f4f5b187ad8, FUTEX_WAKE_PRIVATE, 1) = 1 futex(0x7f4f5b187ad8, FUTEX_WAKE_PRIVATE, 1) = 1 write(4, "\1\0\0\0\0\0\0\0", 8) = 8 sendmsg(8, {msg_name(0)=NULL, msg_iov(1)=[{"gDf\230\0\0\0\0\20\316\243\203\0\210\377\377", 16}], msg_controllen=0, msg_flags=0}, 0) = 16 write(4, "\1\0\0\0\0\0\0\0", 8) = 8 write(4, "\1\0\0\0\0\0\0\0", 8) = 8 futex(0x7f4f5b187ad8, FUTEX_WAKE_PRIVATE, 1) = 1 futex(0x7f4f5b187ad8, FUTEX_WAKE_PRIVATE, 1) = 1 futex(0x7f4f5b187ad8, FUTEX_WAKE_PRIVATE, 1) = 1 write(4, "\1\0\0\0\0\0\0\0", 8) = 8 sendmsg(8, {msg_name(0)=NULL, msg_iov(1)=[{"gDf\230\0\0\0\0\320\302\243\203\0\210\377\377", 16}], msg_controllen=0, msg_flags=0}, 0) = 16 write(4, "\1\0\0\0\0\0\0\0", 8) = 8 brk(0x7f4f5b5e5000) = 0x7f4f5b5e5000 poll([{fd=8, events=POLLIN|POLLERR|POLLHUP}, {fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=6, events=POLLIN}, {fd=4, events=POLLIN}], 4, -1) = 3 ([{fd=8, revents=POLLIN}, {fd=6, revents=POLLIN}, {fd=4, revents=POLLIN}]) read(6, "\6\0\0\0\0\0\0\0", 512) = 8 futex(0x7f4f5b187ad8, FUTEX_WAKE_PRIVATE, 1) = 1 read(4, "\5\0\0\0\0\0\0\0", 512) = 8 recvmsg(8, {msg_name(0)=NULL, msg_iov(1)=[{"%`\225\23\0\0\0\1\340\375\243\203\0\210\377\377\0\0\0\2\20>\200\0\0\1\360\0", 28}], msg_controllen=0, msg_flags=0}, 0) = 28 recvmsg(8, {msg_name(0)=NULL, msg_iov(1)=[{"\5\2763x\234\6\322\260m\200\311\33\234I#\335\246${\16\25\213\20\250\302/\304\322\315\331J\265"..., 126976}], msg_controllen=0, msg_flags=0}, 0) = 126976 poll([{fd=8, events=POLLIN|POLLERR|POLLHUP}, {fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=6, events=POLLIN}, {fd=4, events=POLLIN}], 4, -1) = 1 ([{fd=8, revents=POLLIN}]) recvmsg(8, {msg_name(0)=NULL, msg_iov(1)=[{"%`\225\23\0\0\0\1\320\357\243\203\0\210\377\377\0\0\0\2\20@p\0\0\1\360\0", 28}], msg_controllen=0, msg_flags=0}, 0) = 28 recvmsg(8, {msg_name(0)=NULL, msg_iov(1)=[{"sf\36\363\210G<\341q\217{\362\223\236\370h\220\311w\276\343\370\233^\365\243\312\234\351\221?\375"..., 126976}], msg_controllen=0, msg_flags=0}, 0) = 126976 poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=6, events=POLLIN}, {fd=4, events=POLLIN}], 3, -1) = 1 ([{fd=6, revents=POLLIN}]) read(6, "\1\0\0\0\0\0\0\0", 512) = 8 futex(0x7f4f5b187ad8, FUTEX_WAKE_PRIVATE, 1) = 1 futex(0x7f4f5b187ad8, FUTEX_WAKE_PRIVATE, 1) = 1 write(4, "\1\0\0\0\0\0\0\0", 8) = 8 sendmsg(8, {msg_name(0)=NULL, msg_iov(1)=[{"gDf\230\0\0\0\0\220\344\243\203\0\210\377\377", 16}], msg_controllen=0, msg_flags=0}, 0) = 16 write(4, "\1\0\0\0\0\0\0\0", 8) = 8 write(4, "\1\0\0\0\0\0\0\0", 8) = 8 futex(0x7f4f5b187ad8, FUTEX_WAKE_PRIVATE, 1) = 1 poll([{fd=8, events=POLLIN|POLLERR|POLLHUP}, {fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=6, events=POLLIN}, {fd=4, events=POLLIN}], 4, -1) = 3 ([{fd=8, revents=POLLIN}, {fd=6, revents=POLLIN}, {fd=4, revents=POLLIN}]) read(6, "\3\0\0\0\0\0\0\0", 512) = 8 futex(0x7f4f5b187ad8, FUTEX_WAKE_PRIVATE, 1) = 1 --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV +++ Segmentation fault