diff --git a/0602-libxl-do-not-fail-device-removal-if-backend-domain-i.patch b/0602-libxl-do-not-fail-device-removal-if-backend-domain-i.patch deleted file mode 100644 index 975b846..0000000 --- a/0602-libxl-do-not-fail-device-removal-if-backend-domain-i.patch +++ /dev/null @@ -1,46 +0,0 @@ -From bb52a87ac232cc9e13398b96b49ec866dc3a98fc Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= - -Date: Sun, 28 Jan 2018 03:46:47 +0100 -Subject: [PATCH] libxl: do not fail device removal if backend domain is gone -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Backend domain may be independently destroyed - there is no -synchronization of libxl structures (including /libxl tree) elsewhere. -Backend might also remove the device info from its backend xenstore -subtree on its own. -If such situation is detected, do not fail the removal, but finish the -cleanup on frontend side. -This is just workaround, the real fix should watch when the device -backend is removed (including backend domain destruction) and remove -frontend at that time. And report such event to higher layer code, so -for example libvirt could synchronize its state. - -Signed-off-by: Marek Marczykowski-Górecki ---- - tools/libs/light/libxl_device.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/tools/libs/light/libxl_device.c b/tools/libs/light/libxl_device.c -index 4faa5fa3bd11..5095dc406355 100644 ---- a/tools/libs/light/libxl_device.c -+++ b/tools/libs/light/libxl_device.c -@@ -1081,6 +1081,13 @@ void libxl__initiate_device_generic_remove(libxl__egc *egc, - goto out; - } - -+ /* if state_path is empty, assume backend is gone (backend domain -+ * shutdown?), cleanup frontend only; rc=0 */ -+ if (!state) { -+ LOG(WARN, "backend %s already removed, cleanup frontend only", be_path); -+ goto out; -+ } -+ - rc = libxl__xs_write_checked(gc, t, online_path, "0"); - if (rc) - goto out; --- -2.44.0 - diff --git a/xen.spec.in b/xen.spec.in index ad073f8..c8b565b 100644 --- a/xen.spec.in +++ b/xen.spec.in @@ -108,7 +108,6 @@ Patch0306: 0306-x86-io-apic-prevent-early-exit-from-i8259-loop-detec.patch # Upstreamable patches (600+) Patch0600: 0600-libxl-create-writable-error-xenstore-dir.patch Patch0601: 0601-libxl-do-not-wait-for-backend-on-PCI-remove-when-bac.patch -Patch0602: 0602-libxl-do-not-fail-device-removal-if-backend-domain-i.patch Patch0603: 0603-libvchan-use-xengntshr_unshare-instead-of-munmap-dir.patch Patch0604: 0604-x86-time-Don-t-use-EFI-s-GetTime-call-by-default.patch Patch0605: 0605-libxl-automatically-enable-gfx_passthru-if-IGD-is-as.patch