On 2018/1/8 18:10, Greg Kurz wrote: > On Tue, 19 Dec 2017 13:41:12 +0800 > sochin.jiang <sochin.ji...@huawei.com> wrote: > >> Hi, guys. >> >> I'm looking for the hot-plug/unplug features of virtio-9p device >> recently, and found there's a lack of support. >> >> I am wondering why ? Is there a reason. Actually, I write a qmp command >> to support fsdev_add, then a device_add qmp will >> >> successfully add a virtio-9p device(just like virtio-blk). >> >> Whether there is some concerns that we haven't support this ? hope for a >> reply, thanks. >> >> >> sochin. >> > Hi Sochin, > > I've just discovered this mail by chance. Please note I'm the only active > maintainer for virtio-9p. You really should check the content of MAINTAINERS > and Cc the appropriate people. :) > > Now, back to your question. Yes, there's only some partial support for > hot-plug/unplug. Mostly because nobody cared to work on it I guess. > > So, indeed, we don't have fsdev_add/fsdev_del, ie, we can only rely on > shared directories specified on the QEMU command line. > > On the virtio-9p device side, hotplug is supported, ie, device_add virtio-9p > works as expected. > > Hot-unplug is different as it requires some coordination with the guest. The > current status is that it requires the 9p shared directory to be unmounted > in the guest: if you do device_del while the directory is mounted in a linux > guest, you'll get these messages in the guest syslog: > > kernel:9pnet_virtio virtio2: p9_virtio_remove: waiting for device in use. > > If the 9p directory is unmounted at some point, then the hot unplug > sequence will eventually succeed. > > But this shouldn't be done like this: the guest should cancel inflight > requests and cause any new I/O requests in the guest to fail right away. > I have a tentative patch for the linux driver I can share if you want. > > Cheers, > > -- > Greg > > . >
Thanks, Greg. Indeed, I got those error messages while trying to do device_del with shared directory mounted in the guest. I really would like to see you patch for linux driver. About virtio-9p, we are actually considering to use it for hypervisor-based container, a support of hotplug/unplug will be better, also I believe there will be more people to work on it. Sochin.