On 07/08/2015 12:56 AM, Michael R. Hines wrote: > On 07/07/2015 04:23 AM, Paolo Bonzini wrote: >> >> On 07/07/2015 11:13, Dr. David Alan Gilbert wrote: >>>>> This log is very stange. The NBD client connects to NBD server, and NBD >>>>> server wants to read data >>>>> from NBD client, but reading fails. It seems that the connection is >>>>> closed unexpectedly. Can you >>>>> give me more log and how do you use it? >>> That was the same failure I was getting. I think it's that the NBD server >>> and client are in different >>> modes, with one of them expecting the export. >> nbd_server_add always expects the export. >> >> Paolo >> > > OK, Wen, so your wiki finally does reflect this, but now we're back to the > "export not found error". > > Again, here's the exact command line: > > 1. First on the secondary VM: > > qemu-system-x86_64 .........snip........... -drive > if=none,driver=qcow2,file=foo.qcow2,id=mc1,cache=none,aio=native -drive > if=virtio,driver=replication,mode=secondary,throttling.bps-total-max=70000000,file.file.filename=active_disk.qcow2,file.driver=qcow2,file.backing.file.filename=hidden_disk.qcow2,file.backing.driver=qcow2,file.backing.allow-write-backing-file=on,file.backing.backing.backing_reference=mc1 > > 2. Then, then HMP commands: > > nbd_server_start 0:6262 > nbd_server_add -w mc1 > > 3. Then the primary VM: > > qemu-system-x86_64 .........snip........... -drive > if=virtio,driver=quorum,read-pattern=fifo,no-connect=on,children.0.file.filename=bar.qcow2,children.0.driver=qcow2,children.1.file.driver=nbd,children.1.file.host=127.0.0.1,children.1.file.port=6262,children.1.driver=replication,children.1.mode=primary,children.1.ignore-errors=on > > With the error: Server requires an export name > > *but*, your wiki has no export name on the primary VM size, so I added the > export name back which is on your old wiki: > > qemu-system-x86_64 .........snip........... -drive > if=virtio,driver=quorum,read-pattern=fifo,no-connect=on,children.0.file.filename=bar.qcow2,children.0.driver=qcow2,children.1.file.driver=nbd,children.1.file.export=mc1,children.1.file.host=127.0.0.1,children.1.file.port=6262,children.1.driver=replication,children.1.mode=primary,children.1.ignore-errors=on: > Failed to read export length >
Hmm, I think you use v7 version. Is it right? In this version, the correct useage for primary qemu is: 1. qemu-system-x86_64 .........snip........... -drive if=virtio,driver=quorum,read-pattern=fifo,id=disk1, children.0.file.filename=bar.qcow2,children.0.driver=qcow2, Then run hmp monitor command(It should be run after you run nbd_server_add in the secondary qemu): child_add disk1 child.driver=replication,child.mode=primary,child.file.host=127.0.0.1,child.file.port=6262,child.file.export=mc1,child.file.driver=nbd,child.ignore-errors=on Thanks Wen Congyang > And server now says: > > nbd.c:nbd_handle_export_name():L416: export not found > nbd.c:nbd_send_negotiate():L562: option negotiation failed > > . >