[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: Ping: [PATCH] libxl/PCI: defer backend wait upon attaching to PV guest
On 04/01/2022 07:53, Jan Beulich wrote: On 14.12.2021 08:49, Jan Beulich wrote:Attempting to wait when the backend hasn't been created yet can't work: the function will complain "Backend ... does not exist". Move the waiting past the creation of the backend (and that of other related nodes), hoping that there are no other dependencies that would now be broken. Fixes: 0fdb48ffe7a1 ("libxl: Make sure devices added by pci-attach are reflected in the config") Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> --- Just to make it explicit: I have no idea why the waiting is needed in the first place. It's been there from the very introduction of PCI passthrough support (commit b0a1af61678b). I therefore can't exclude that an even better fix would be to simply omit the 2nd hunk here.Anyone, be it an ack or an alternative? You can add my R-b FWIW, but of course I am not a maintainer. Paul Jan--- a/tools/libs/light/libxl_pci.c +++ b/tools/libs/light/libxl_pci.c @@ -157,11 +157,6 @@ static int libxl__device_pci_add_xenstor if (domtype == LIBXL_DOMAIN_TYPE_INVALID) return ERROR_FAIL;- if (!starting && domtype == LIBXL_DOMAIN_TYPE_PV) {- if (libxl__wait_for_backend(gc, be_path, GCSPRINTF("%d", XenbusStateConnected)) < 0) - return ERROR_FAIL; - } - back = flexarray_make(gc, 16, 1);LOGD(DEBUG, domid, "Adding new pci device to xenstore");@@ -213,6 +208,9 @@ static int libxl__device_pci_add_xenstor if (rc < 0) goto out; }+ if (!starting && domtype == LIBXL_DOMAIN_TYPE_PV)+ rc = libxl__wait_for_backend(gc, be_path, GCSPRINTF("%d", XenbusStateConnected)); + out: libxl__xs_transaction_abort(gc, &t); if (lock) libxl__unlock_file(lock);
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |