libxl: create domain 'error' node in xenstore

Several PV drivers (both historically and currently [1]) report errors
by writing text into /local/domain/$DOMID/error. This patch creates the
node in libxl and makes it writable by the domain, and also adds some
text into xenstore-paths.pandoc to state what the node is for.

[1] https://xenbits.xen.org/gitweb/?p=pvdrivers/win/xenvif.git;a=blob;f=src/xenvif/frontend.c;hb=HEAD#l459

Signed-off-by: Paul Durrant <paul@xen.org>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
This commit is contained in:
Paul Durrant authored and Ian Jackson committed 2020-03-19 15:56:00 +00:00
1 parent 85b01220fe
commit 1f706eace3
2 files changed
+8

No files matched your search

+5
View File
@@ -539,6 +539,11 @@ address written in one of these paths to, for example, establish a VNC
session to the guest (although clearly some level of trust is placed
in the value supplied by the guest in this case).
#### ~/error [w]
A domain writable path used by some PV drivers to pass error messages
to the toolstack.
### Paths private to the toolstack
#### ~/device-model/$DOMID/state [w]
+3
View File
@@ -797,6 +797,9 @@ retry_transaction:
libxl__xs_mknod(gc, t,
GCSPRINTF("%s/attr", dom_path),
rwperm, ARRAY_SIZE(rwperm));
libxl__xs_mknod(gc, t,
GCSPRINTF("%s/error", dom_path),
rwperm, ARRAY_SIZE(rwperm));
if (libxl_defbool_val(info->driver_domain)) {
/*
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.