9pfs: deprecate handle backend
This backend raise some concerns:
- doesn't support symlinks
- fails +100 tests in the PJD POSIX file system test suite [1]
- requires the QEMU process to run with the CAP_DAC_READ_SEARCH
capability, which isn't recommended for security reasons
This backend should not be used and wil be removed. The 'local'
backend is the recommended alternative.
[1] https://www.tuxera.com/community/posix-test-suite/
Signed-off-by: Greg Kurz <groug@kaod.org>
Reviewed-by: Daniel P. Berrange <berrange@redhat.com>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
diff --git a/hw/9pfs/9p-handle.c b/hw/9pfs/9p-handle.c
index c5adfe6..c1681d3 100644
--- a/hw/9pfs/9p-handle.c
+++ b/hw/9pfs/9p-handle.c
@@ -657,6 +657,8 @@
const char *sec_model = qemu_opt_get(opts, "security_model");
const char *path = qemu_opt_get(opts, "path");
+ warn_report("handle backend is deprecated");
+
if (sec_model) {
error_report("Invalid argument security_model specified with handle fsdriver");
return -1;
diff --git a/qemu-doc.texi b/qemu-doc.texi
index ae90f71..454a831 100644
--- a/qemu-doc.texi
+++ b/qemu-doc.texi
@@ -2724,6 +2724,14 @@
channel subsystems, all devices can be put into the default channel
subsystem image.
+@subsection -fsdev handle (since 2.12.0)
+
+The ``handle'' fsdev backend does not support symlinks and causes the 9p
+filesystem in the guest to fail a fair amount of tests from the PJD POSIX
+filesystem test suite. Also it requires the CAP_DAC_READ_SEARCH capability,
+which is not the recommended way to run QEMU. This backend should not be
+used and it will be removed with no replacement.
+
@section qemu-img command line arguments
@subsection convert -s (since 2.0.0)