Re: [PATCH-for-9.1 v2 3/3] block/gluster: Remove RDMA protocol handling

2024-03-28 Thread Thomas Huth

On 28/03/2024 14.02, Philippe Mathieu-Daudé wrote:

GlusterFS+RDMA has been deprecated 8 years ago in commit
0552ff2465 ("block/gluster: deprecate rdma support"):

   gluster volfile server fetch happens through unix and/or tcp,
   it doesn't support volfile fetch over rdma. The rdma code may
   actually mislead, so to make sure things do not break, for now
   we fallback to tcp when requested for rdma, with a warning.

   If you are wondering how this worked all these days, its the
   gluster libgfapi code which handles anything other than unix
   transport as socket/tcp, sad but true.

Besides, the whole RDMA subsystem was deprecated in commit
e9a54265f5 ("hw/rdma: Deprecate the pvrdma device and the rdma
subsystem") released in v8.2.

Cc: Prasanna Kumar Kalever 
Signed-off-by: Philippe Mathieu-Daudé 
---
  docs/system/device-url-syntax.rst.inc  |  4 +--
  docs/system/qemu-block-drivers.rst.inc |  1 -
  block/gluster.c| 39 --
  3 files changed, 2 insertions(+), 42 deletions(-)


Reviewed-by: Thomas Huth 
___
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-le...@lists.libvirt.org


[PATCH-for-9.1 v2 3/3] block/gluster: Remove RDMA protocol handling

2024-03-28 Thread Philippe Mathieu-Daudé
GlusterFS+RDMA has been deprecated 8 years ago in commit
0552ff2465 ("block/gluster: deprecate rdma support"):

  gluster volfile server fetch happens through unix and/or tcp,
  it doesn't support volfile fetch over rdma. The rdma code may
  actually mislead, so to make sure things do not break, for now
  we fallback to tcp when requested for rdma, with a warning.

  If you are wondering how this worked all these days, its the
  gluster libgfapi code which handles anything other than unix
  transport as socket/tcp, sad but true.

Besides, the whole RDMA subsystem was deprecated in commit
e9a54265f5 ("hw/rdma: Deprecate the pvrdma device and the rdma
subsystem") released in v8.2.

Cc: Prasanna Kumar Kalever 
Signed-off-by: Philippe Mathieu-Daudé 
---
 docs/system/device-url-syntax.rst.inc  |  4 +--
 docs/system/qemu-block-drivers.rst.inc |  1 -
 block/gluster.c| 39 --
 3 files changed, 2 insertions(+), 42 deletions(-)

diff --git a/docs/system/device-url-syntax.rst.inc 
b/docs/system/device-url-syntax.rst.inc
index 7dbc525fa8..43b5c2596b 100644
--- a/docs/system/device-url-syntax.rst.inc
+++ b/docs/system/device-url-syntax.rst.inc
@@ -87,8 +87,8 @@ These are specified using a special URL syntax.
 
 ``GlusterFS``
GlusterFS is a user space distributed file system. QEMU supports the
-   use of GlusterFS volumes for hosting VM disk images using TCP, Unix
-   Domain Sockets and RDMA transport protocols.
+   use of GlusterFS volumes for hosting VM disk images using TCP and Unix
+   Domain Sockets transport protocols.
 
Syntax for specifying a VM disk image on GlusterFS volume is
 
diff --git a/docs/system/qemu-block-drivers.rst.inc 
b/docs/system/qemu-block-drivers.rst.inc
index 105cb9679c..384e95ba76 100644
--- a/docs/system/qemu-block-drivers.rst.inc
+++ b/docs/system/qemu-block-drivers.rst.inc
@@ -737,7 +737,6 @@ Examples
   |qemu_system| -drive 
file=gluster+tcp://[1:2:3:4:5:6:7:8]:24007/testvol/dir/a.img
   |qemu_system| -drive 
file=gluster+tcp://server.domain.com:24007/testvol/dir/a.img
   |qemu_system| -drive 
file=gluster+unix:///testvol/dir/a.img?socket=/tmp/glusterd.socket
-  |qemu_system| -drive file=gluster+rdma://1.2.3.4:24007/testvol/a.img
   |qemu_system| -drive 
file=gluster://1.2.3.4/testvol/a.img,file.debug=9,file.logfile=/var/log/qemu-gluster.log
   |qemu_system| 'json:{"driver":"qcow2",
"file":{"driver":"gluster",
diff --git a/block/gluster.c b/block/gluster.c
index cc74af06dc..4253c8db5e 100644
--- a/block/gluster.c
+++ b/block/gluster.c
@@ -371,9 +371,6 @@ static int qemu_gluster_parse_uri(BlockdevOptionsGluster 
*gconf,
 } else if (!strcmp(uri->scheme, "gluster+unix")) {
 gsconf->type = SOCKET_ADDRESS_TYPE_UNIX;
 is_unix = true;
-} else if (!strcmp(uri->scheme, "gluster+rdma")) {
-gsconf->type = SOCKET_ADDRESS_TYPE_INET;
-warn_report("rdma feature is not supported, falling back to tcp");
 } else {
 ret = -EINVAL;
 goto out;
@@ -1638,44 +1635,8 @@ static BlockDriver bdrv_gluster_unix = {
 .strong_runtime_opts  = gluster_strong_open_opts,
 };
 
-/* rdma is deprecated (actually never supported for volfile fetch).
- * Let's maintain it for the protocol compatibility, to make sure things
- * won't break immediately. For now, gluster+rdma will fall back to gluster+tcp
- * protocol with a warning.
- * TODO: remove gluster+rdma interface support
- */
-static BlockDriver bdrv_gluster_rdma = {
-.format_name  = "gluster",
-.protocol_name= "gluster+rdma",
-.instance_size= sizeof(BDRVGlusterState),
-.bdrv_file_open   = qemu_gluster_open,
-.bdrv_reopen_prepare  = qemu_gluster_reopen_prepare,
-.bdrv_reopen_commit   = qemu_gluster_reopen_commit,
-.bdrv_reopen_abort= qemu_gluster_reopen_abort,
-.bdrv_close   = qemu_gluster_close,
-.bdrv_co_create   = qemu_gluster_co_create,
-.bdrv_co_create_opts  = qemu_gluster_co_create_opts,
-.bdrv_co_getlength= qemu_gluster_co_getlength,
-.bdrv_co_get_allocated_file_size = qemu_gluster_co_get_allocated_file_size,
-.bdrv_co_truncate = qemu_gluster_co_truncate,
-.bdrv_co_readv= qemu_gluster_co_readv,
-.bdrv_co_writev   = qemu_gluster_co_writev,
-.bdrv_co_flush_to_disk= qemu_gluster_co_flush_to_disk,
-#ifdef CONFIG_GLUSTERFS_DISCARD
-.bdrv_co_pdiscard = qemu_gluster_co_pdiscard,
-#endif
-#ifdef CONFIG_GLUSTERFS_ZEROFILL
-.bdrv_co_pwrite_zeroes= qemu_gluster_co_pwrite_zeroes,
-#endif
-.bdrv_co_block_status = qemu_gluster_co_block_status,
-.bdrv_refresh_limits  = qemu_gluster_refresh_limits,
-.create_opts  = _gluster_create_opts,
-.strong_runtime_opts  = gluster_strong_open_opts,
-};
-
 static