From b6c417785e54620331ae35d6971fe8bef98b4619 Mon Sep 17 00:00:00 2001 From: Milind Changire Date: Tue, 22 Jan 2019 12:10:59 +0530 Subject: rpc: use address-family option from vol file This patch helps enable IPv6 connections in the cluster. The default address-family is IPv4 without using this option explicitly. When address-family is set to "inet6" in the /etc/glusterfs/glusterd.vol file, the mount command-line also needs to have -o xlator-option="transport.address-family=inet6" added to it. This option also gets added to the brick command-line. Snapshot and gfapi use-cases should also use this option to pass in the inet6 address-family. Change-Id: I97db91021af27bacb6d7578e33ea4817f66d7270 fixes: bz#1635863 Signed-off-by: Milind Changire --- api/src/glfs-mgmt.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'api/src/glfs-mgmt.c') diff --git a/api/src/glfs-mgmt.c b/api/src/glfs-mgmt.c index e8ad020c752..d502b4f46b6 100644 --- a/api/src/glfs-mgmt.c +++ b/api/src/glfs-mgmt.c @@ -697,9 +697,9 @@ volfile: * volfile if topology hasn't changed. * glusterfs_volfile_reconfigure returns 3 possible return states * return 0 =======> reconfiguration of options has succeeded - * return 1 =======> the graph has to be reconstructed and all the - * xlators should be inited return -1(or -ve) =======> Some Internal Error - * occurred during the operation + * return 1 =======> the graph has to be reconstructed and all + * the xlators should be inited return -1(or -ve) =======> Some Internal + * Error occurred during the operation */ pthread_mutex_lock(&fs->mutex); @@ -1031,7 +1031,10 @@ glfs_mgmt_init(struct glfs *fs) !strcmp(cmd_args->volfile_server_transport, "unix")) { ret = rpc_transport_unix_options_build(&options, host, 0); } else { - ret = rpc_transport_inet_options_build(&options, host, port); + xlator_cmdline_option_t *opt = find_xlator_option_in_cmd_args_t( + "address-family", cmd_args); + ret = rpc_transport_inet_options_build(&options, host, port, + (opt ? opt->value : NULL)); } if (ret) -- cgit