[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.