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

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



Since Xen 4.7.0, using privcmd via xenfs (/proc/xen/privcmd) is deprecated
and /dev/xen/privcmd 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 |  4 ++++
 2 files changed, 16 insertions(+)

diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
index 7003984..c610902 100644
--- a/drivers/xen/Kconfig
+++ b/drivers/xen/Kconfig
@@ -135,6 +135,18 @@ config XEN_COMPAT_XENFS_XENBUS
          Xen 4.6.0 and newer.
          If in doubt, say yes.
 
+config XEN_COMPAT_XENFS_PRIVCMD
+       bool "privcmd accessible from xenfs"
+       depends on XENFS
+       default y
+       help
+         Since Xen 4.7.0, Xen userland will prefer to use the
+         /dev/xen/privcmd device over the "privcmd" interface on the
+         xenfs filesystem. Selecting this causes the kernel to include
+         the "privcmd" interface on the xenfs filesystem and you can
+         safely say no for Xen 4.7.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 86ff5b3..bb40970b 100644
--- a/drivers/xen/xenfs/super.c
+++ b/drivers/xen/xenfs/super.c
@@ -50,7 +50,9 @@ static int xenfs_fill_super(struct super_block *sb, void 
*data, int silent)
                { "xenbus", &xen_xenbus_fops, S_IRUSR|S_IWUSR },
 #endif
                { "capabilities", &capabilities_file_ops, S_IRUGO },
+#ifdef CONFIG_XEN_COMPAT_XENFS_PRIVCMD
                { "privcmd", &xen_privcmd_fops, S_IRUSR|S_IWUSR },
+#endif
                {""},
        };
 
@@ -60,7 +62,9 @@ static int xenfs_fill_super(struct super_block *sb, void 
*data, int silent)
                { "xenbus", &xen_xenbus_fops, S_IRUSR|S_IWUSR },
 #endif
                { "capabilities", &capabilities_file_ops, S_IRUGO },
+#ifdef CONFIG_XEN_COMPAT_XENFS_PRIVCMD
                { "privcmd", &xen_privcmd_fops, S_IRUSR|S_IWUSR },
+#endif
                { "xsd_kva", &xsd_kva_file_ops, S_IRUSR|S_IWUSR},
                { "xsd_port", &xsd_port_file_ops, S_IRUSR|S_IWUSR},
 #ifdef CONFIG_XEN_SYMS
-- 
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®.