block/nbd.c and drive backup to a remote nbd server Description of problem: Good afternoon! I trying to copy attached drive content to remote NBD server via drive-backup QMP method. I'he tested two very similar ways but with very different performance. First is a backuping to exported NBD at another server. Second way is a backuping to same server but with connecting to /dev/nbd*. Exporting qcow2 via nbd: ``` (nbd) ~ # qemu-nbd -p 12345 -x backup --cache=none --aio=native --persistent -f qcow2 backup.qcow2 (qemu) ~ # qemu-img info nbd://10.0.0.1:12345/backup image: nbd://10.0.0.1:12345/backup file format: raw virtual size: 10 GiB (10737418240 bytes) disk size: unavailable ``` Starting drive backuping via QMP: ``` { "execute": "drive-backup", "arguments": { "device": "disk", "sync": "full", "target": "nbd://10.0.0.1:12345/backup", "mode": "existing" } } ``` With process starting qemu notifying about warning: > warning: The target block device doesn't provide information about the block size and it doesn't have a backing file. The default block size of 65536 bytes is used. If the actual block size of the target exceeds this default, the backup may be unusable And backup process is limited by speed around 30MBps, watched by iotop Second way to creating backup Exporting qcow2 via nbd: ``` (nbd) ~ # qemu-nbd -p 12345 -x backup --cache=none --aio=native --persistent -f qcow2 backup.qcow2 ``` ``` (qemu) ~ # qemu-img info nbd://10.0.0.1:12345/backup image: nbd://10.0.0.1:12345/backup file format: raw virtual size: 10 GiB (10737418240 bytes) disk size: unavailable (qemu) ~ # qemu-nbd -c /dev/nbd0 nbd://10.0.0.1:12345/backup (qemu) ~ # qemu-img info /dev/nbd0 image: /dev/nbd0 file format: raw virtual size: 10 GiB (10737418240 bytes) disk size: 0 B ``` Starting drive backuping via QMP to local nbd device: ``` { "execute": "drive-backup", "arguments": { "device": "disk", "sync": "full", "target": "/dev/nbd0", "mode": "existing" } } ``` Backup process started without previous warning, and speed limited around 100MBps (network limit) So I have question: how I can get same performance without connection network device to local block nbd device at the qemu host? Kind regards