On Thu, Feb 06, 2020 at 03:33:13AM -0500, Michael S. Tsirkin wrote:
>
> On Wed, Jan 15, 2020 at 09:57:03PM -0500, Raphael Norwitz wrote:
> >
> > Changes since V1:
> > * Kept the assert in vhost_user_set_mem_table_postcopy, but moved it
> > to prevent corruption
> > * Made QEMU send a single VHOST_USER_GET_MAX_MEMSLOTS message at
> > startup and cache the returned value so that QEMU does not need to
> > query the backend every time vhost_backend_memslots_limit is called.
>
> I'm a bit confused about what happens on reconnect.
> Can you clarify pls?
>
>From what I can see, backends which support reconnect call vhost_dev_init,
which then calls vhost_user_backend_init(), as vhost-user-blk does here:
https://github.com/qemu/qemu/blob/master/hw/block/vhost-user-blk.c#L315. The
ram slots limit is fetched in vhost_user_backend_init() so every time the
device reconnects the limit should be refetched.