From 931d49ce582375441ace1c40b8502ae30ba27654 Mon Sep 17 00:00:00 2001 From: Chunjie Zhu Date: Tue, 21 Apr 2026 16:27:55 +0800 Subject: [PATCH] CA-395093: miss physical-device-path xenstore key read physical-device-path from xenstore directly, there is no synchronization between slave tapback process and xenopsd hotplug vbd-script, so, in some corner case, slave tapback process would miss physical-device-path xenstore watch event, then blktap io datapath fails to be established. Signed-off-by: Chunjie Zhu --- tapback/backend.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tapback/backend.c b/tapback/backend.c index facae9bfd..53813e715 100644 --- a/tapback/backend.c +++ b/tapback/backend.c @@ -769,6 +769,18 @@ reconnect(vbd_t *device) { } } + err = physical_device_path_changed(device); + if (err) { + if (err == -ENOENT) { + DBG(device, "no physical device path yet\n"); + err = 0; + } else { + WARN(device, "failed to retrieve physical device path: " + "%s\n", strerror(-err)); + goto out; + } + } + err = hotplug_status_changed(device); if (err) { if (err == -ENOENT) {