mirror of https://github.com/xemu-project/xemu.git
block/gluster: Remove deprecated RDMA protocol handling
GlusterFS+RDMA has been deprecated 8 years ago in commit0552ff2465
("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 commite9a54265f5
("hw/rdma: Deprecate the pvrdma device and the rdma subsystem") released in v8.2. Cc: Prasanna Kumar Kalever <prasanna.kalever@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Message-Id: <20240328130255.52257-4-philmd@linaro.org>
This commit is contained in:
parent
1dfd42c426
commit
2d9cbbea64
|
@ -371,9 +371,6 @@ static int qemu_gluster_parse_uri(BlockdevOptionsGluster *gconf,
|
||||||
} else if (!strcmp(uri->scheme, "gluster+unix")) {
|
} else if (!strcmp(uri->scheme, "gluster+unix")) {
|
||||||
gsconf->type = SOCKET_ADDRESS_TYPE_UNIX;
|
gsconf->type = SOCKET_ADDRESS_TYPE_UNIX;
|
||||||
is_unix = true;
|
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 {
|
} else {
|
||||||
ret = -EINVAL;
|
ret = -EINVAL;
|
||||||
goto out;
|
goto out;
|
||||||
|
@ -1638,44 +1635,8 @@ static BlockDriver bdrv_gluster_unix = {
|
||||||
.strong_runtime_opts = gluster_strong_open_opts,
|
.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 = &qemu_gluster_create_opts,
|
|
||||||
.strong_runtime_opts = gluster_strong_open_opts,
|
|
||||||
};
|
|
||||||
|
|
||||||
static void bdrv_gluster_init(void)
|
static void bdrv_gluster_init(void)
|
||||||
{
|
{
|
||||||
bdrv_register(&bdrv_gluster_rdma);
|
|
||||||
bdrv_register(&bdrv_gluster_unix);
|
bdrv_register(&bdrv_gluster_unix);
|
||||||
bdrv_register(&bdrv_gluster_tcp);
|
bdrv_register(&bdrv_gluster_tcp);
|
||||||
bdrv_register(&bdrv_gluster);
|
bdrv_register(&bdrv_gluster);
|
||||||
|
|
|
@ -87,8 +87,8 @@ These are specified using a special URL syntax.
|
||||||
|
|
||||||
``GlusterFS``
|
``GlusterFS``
|
||||||
GlusterFS is a user space distributed file system. QEMU supports the
|
GlusterFS is a user space distributed file system. QEMU supports the
|
||||||
use of GlusterFS volumes for hosting VM disk images using TCP, Unix
|
use of GlusterFS volumes for hosting VM disk images using TCP and Unix
|
||||||
Domain Sockets and RDMA transport protocols.
|
Domain Sockets transport protocols.
|
||||||
|
|
||||||
Syntax for specifying a VM disk image on GlusterFS volume is
|
Syntax for specifying a VM disk image on GlusterFS volume is
|
||||||
|
|
||||||
|
|
|
@ -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://[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+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+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| -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",
|
|qemu_system| 'json:{"driver":"qcow2",
|
||||||
"file":{"driver":"gluster",
|
"file":{"driver":"gluster",
|
||||||
|
|
Loading…
Reference in New Issue