On Fri, Dec 18, 2020 at 05:39:34PM +0800, Jiachen Zhang wrote: > Thanks for the suggestions. Actually, we choose to save all state > information to QEMU because a virtiofsd has the same lifecycle as its > QEMU master. However, saving things to a file do avoid communication with > QEMU, and we no longer need to increase the complexity of vhost-user > protocol. The suggestion to save fds to the systemd is also very reasonable > if we don't consider the lifecycle issues, we will try it. Hi, We recently discussed crash recovery in the virtio-fs bi-weekly call and I read some of this email thread because it's a topic I'm interested in. I agree with Marc-André that storing file descriptors does not need to be in the vhost-user protocol. The lifetime of a vhost-user device backend is not controlled by the VMM since the device backend is launched separately. Therefore it's reasonable for the component that launched the device backend to also have the responsibility of cleaning up the vhost-user device backend. Using the sd_notify(3) interface is a neat idea. It's supported natively by systemd but you can also implement a compatible interface in your own software. This way the vhost-user device backend can be launched using systemd or your own software. That said, if people find it more convenient to store fds using the vhost-user protocol, then I think that is enough justification to add a generic message to the vhost-user protocol. The important thing is to make the message generic so it solves all crash recovery use cases. The inflight fd messages were too specific and now we're having to think about adding more messages again. Stefan