diff --git a/tools/examples/xen-backend.agent b/tools/examples/xen-backend.agent index dddcb3e8e3..37827b0386 100755 --- a/tools/examples/xen-backend.agent +++ b/tools/examples/xen-backend.agent @@ -15,6 +15,9 @@ case "$ACTION" in add) ;; remove) + # remove device frontend store entries + xenstore-rm -t $(xenstore-read "$XENBUS_PATH/frontend") || true + # remove device backend store entries xenstore-rm -t "$XENBUS_PATH" || true xenstore-rm -t "error/$XENBUS_PATH" || true diff --git a/tools/examples/xen-backend.rules b/tools/examples/xen-backend.rules index 9c077660d1..8114594cc1 100644 --- a/tools/examples/xen-backend.rules +++ b/tools/examples/xen-backend.rules @@ -1,5 +1,6 @@ SUBSYSTEM=="xen-backend", KERNEL=="vbd*", RUN+="/etc/xen/scripts/block $env{ACTION}" SUBSYSTEM=="xen-backend", KERNEL=="vif*", ACTION=="online", RUN+="$env{script} online" SUBSYSTEM=="xen-backend", KERNEL=="vif*", ACTION=="offline", RUN+="$env{script} offline" +SUBSYSTEM=="xen-backend", ACTION=="remove", RUN+="/bin/bash -c '/usr/bin/xenstore-rm -t $$(/usr/bin/xenstore-read $env{XENBUS_PATH}/frontend)'" SUBSYSTEM=="xen-backend", ACTION=="remove", RUN+="/usr/bin/xenstore-rm -t $env{XENBUS_PATH}" SUBSYSTEM=="xen-backend", ACTION=="remove", RUN+="/usr/bin/xenstore-rm -t error/$env{XENBUS_PATH}"