[Libguestfs] [PATCH nbdkit v3 1/3] filters: Implement next_ops .reopen call.
Richard W.M. Jones
rjones at redhat.com
Thu Sep 19 16:28:20 UTC 2019
On Thu, Sep 19, 2019 at 10:59:02AM -0500, Eric Blake wrote:
> > +int
> > +backend_reopen (struct backend *b, struct connection *conn, int readonly)
> > +{
> > + struct b_conn_handle *h = &conn->handles[b->i];
> > +
> > + debug ("%s: reopen", b->name);
> > +
> > + if (h->handle != NULL)
> > + backend_close (b, conn);
> > + return backend_open (b, conn, readonly);
>
> Do we want to grab a resource lock at this point? Should we be trying
> hard to prevent further client calls from going to the retry filter
> while the retry filter is reopening the real plugin? Or do those locks
> belong in the retry filter itself? If nothing else, we probably want
> some sort of locking to ensure that two threads are not trying reopen at
> the same time.
For the purposes of our use case in v2v I'm happy to set the filter
thread model to something very serialized (I think
THREAD_MODEL_SERIALIZE_ALL_REQUESTS) and add a big comment about how
we need to think about how to make it safe.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine. Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/
More information about the Libguestfs
mailing list