|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] Why xs_domain_open() in fs_backend
I always get error on fs-backend when I was trying the stubdomain. The error is
either " fs-backend: xenbus_get_watch_fd: could not setup watch: Invalid
argument" or "fs-backend: xenbus_get_watch_fd: could not setup watch: Bad file
descriptor".
I tried to debug it, seems it failed when fs-backend access the
/proc/xen/xenbus file to setup a watch. It failed either because write the file
failed or read the reply back failed. Further investigation does not make much
progress. (I'm using PVops dom0 and latest upstream xen).
Later I noticed that the fs-backend utilize xs_domain_open(), instead of
xs_daemon_open(), to communicate with xenstore. grep "xs_domain_open", I
noticed it is in fact only used in xenstore_client.c, (xl use it when
xs_daemon_open failed, but I suspect if it is really tested), and the
xenstore_client.c does not use watch feature at all.
Following simple patch make it work, but I'm not sure if it is the right
method, will fs-backend run in other domain?
Thanks
--jyh
diff -r a33886146b45 tools/fs-back/fs-backend.c
--- a/tools/fs-back/fs-backend.c Fri Oct 08 11:41:57 2010 +0100
+++ b/tools/fs-back/fs-backend.c Wed Oct 13 15:10:22 2010 +0800
@@ -462,7 +462,7 @@ int main(void)
sigaction(SIGUSR2, &act, NULL);
/* Open the connection to XenStore first */
- xsh = xs_domain_open();
+ xsh = xs_daemon_open();
assert(xsh != NULL);
xs_rm(xsh, XBT_NULL, ROOT_NODE);
/* Create watch node */
diff -r a33886146b45 tools/fs-back/fs-backend.h
--- a/tools/fs-back/fs-backend.h Fri Oct 08 11:41:57 2010 +0100
+++ b/tools/fs-back/fs-backend.h Wed Oct 13 15:10:33 2010 +0800
@@ -9,7 +9,7 @@
#include <xen/io/fsif.h>
#include "sys-queue.h"
-#define ROOT_NODE "backend/vfs"
+#define ROOT_NODE "/local/domain/0/backend/vfs"
#define EXPORTS_SUBNODE "exports"
#define EXPORTS_NODE ROOT_NODE"/"EXPORTS_SUBNODE
#define WATCH_NODE EXPORTS_NODE"/requests"
~
~
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|