On Fri, Jun 06, 2014 at 01:28:59AM +0000, Gonglei (Arei) wrote: > Hi, Amos > > > -----Original Message----- > > From: Amos Kong [mailto:ak...@redhat.com] > > Sent: Friday, June 06, 2014 9:12 AM > > To: qemu-devel@nongnu.org > > Cc: stefa...@gmail.com; afaer...@suse.de; Gonglei (Arei) > > Subject: [PATCH v3 3/4] virtio-blk-test.c: add hotplug subtest > > > > This patch adds a new subtest, it hotplugs 29 * 8 = 232 virtio-blk > > devices to guest, and try to hot-unplug them. > > > > Note: the hot-unplug can't work without cooperation of guest OS.
> > +static void test_blk_hotplug(void) > > +{ > > + int i, j; > > + > > + /* start with no network/block device, slots 3~0x1f are free */ > > + qtest_start("-net none"); > > + > > + for (i = 3; i <= 0x1f; i++) { > > + for (j = 7; j >= 0; j--) { > > + qmp_exec_hmp_cmd("OK\r\n", > > + "drive_add 0 > > if=none,file=/dev/null,id=drv-%x.%x", > > + i, j); > > + qmp_exec_hmp_cmd("", > > + "device_add > > virtio-blk-pci,id=dev-%x.%x,drive=drv-%x.%x," > > + "addr=0x%x.%x,multifunction=on", i, j, i, j, i, j); > > + } > > + } > > Do the pci multifunction devices support hotplug/unplug yet? Yes. You can hotplug single functions one by one, guest will identify all the functions when function 0 is added. Hotunplug function 0, all functions in same slot will be removed. > Best regards, > -Gonglei -- Amos.