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

[Xen-devel] [PATCH 1/2] xen: wrap xenbus on xenfs with COMPAT option



Since Xen 4.6.0, using xenbus via xenfs (/proc/xen/xenbus) is deprecated
and /dev/xen/xenbus via pvops is used instead. This is an effort to
eventually drop this interface after a reasonable amount of time.

Signed-off-by: Doug Goldstein <cardoe@xxxxxxxxxx>
---
 drivers/xen/Kconfig       | 12 ++++++++++++
 drivers/xen/xenfs/super.c | 10 ++++++++--
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
index 73708ac..7003984 100644
--- a/drivers/xen/Kconfig
+++ b/drivers/xen/Kconfig
@@ -123,6 +123,18 @@ config XEN_COMPAT_XENFS
          a xen platform.
          If in doubt, say yes.
 
+config XEN_COMPAT_XENFS_XENBUS
+       bool "xenbus accessible from xenfs"
+       depends on XENFS
+       default y
+       help
+         Since Xen 4.6.0, xenstore will prefer to use the /dev/xen/xenbus
+         device over the "xenbus" interface on the xenfs filesystem.
+         Selecting this causes the kernel to include the "xenbus"
+         interface on the xenfs filesystem and you can safely say no for
+         Xen 4.6.0 and newer.
+         If in doubt, say yes.
+
 config XEN_SYS_HYPERVISOR
        bool "Create xen entries under /sys/hypervisor"
        depends on SYSFS
diff --git a/drivers/xen/xenfs/super.c b/drivers/xen/xenfs/super.c
index 8559a71..86ff5b3 100644
--- a/drivers/xen/xenfs/super.c
+++ b/drivers/xen/xenfs/super.c
@@ -45,14 +45,20 @@ static const struct file_operations capabilities_file_ops = 
{
 static int xenfs_fill_super(struct super_block *sb, void *data, int silent)
 {
        static struct tree_descr xenfs_files[] = {
-               [2] = { "xenbus", &xen_xenbus_fops, S_IRUSR|S_IWUSR },
+               [2] =
+#ifdef CONFIG_XEN_COMPAT_XENFS_XENBUS
+               { "xenbus", &xen_xenbus_fops, S_IRUSR|S_IWUSR },
+#endif
                { "capabilities", &capabilities_file_ops, S_IRUGO },
                { "privcmd", &xen_privcmd_fops, S_IRUSR|S_IWUSR },
                {""},
        };
 
        static struct tree_descr xenfs_init_files[] = {
-               [2] = { "xenbus", &xen_xenbus_fops, S_IRUSR|S_IWUSR },
+               [2] =
+#ifdef CONFIG_XEN_COMPAT_XENFS_XENBUS
+               { "xenbus", &xen_xenbus_fops, S_IRUSR|S_IWUSR },
+#endif
                { "capabilities", &capabilities_file_ops, S_IRUGO },
                { "privcmd", &xen_privcmd_fops, S_IRUSR|S_IWUSR },
                { "xsd_kva", &xsd_kva_file_ops, S_IRUSR|S_IWUSR},
-- 
2.4.10


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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