summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMohamed Ashiq <mliyazud@redhat.com>2015-11-09 22:09:34 +0530
committerAtin Mukherjee <amukherj@redhat.com>2015-11-30 00:09:32 -0800
commit0441e50959e9305c5bc4d0af0576593f8755730e (patch)
tree0ed25f1a08acef4b461b92f7973272f638cd34cd
parent87845356171afcd07f62f46dd81596e4f71e7935 (diff)
quota: vol quota fails when transport.socket.bind-address is set in glusterd
When glusterd is binded to specific IP quota fails, since the server is hardcoded to localhost. IP can be assigned in the glusterd part of quota, but IP is not populated in cli part. So Quota makes use of glusterfsd's unix domain socket transport type. Change-Id: Ib03332cc203795456ee6087017cea08eed3d7417 BUG: 1277105 Signed-off-by: Mohamed Ashiq <mliyazud@redhat.com> Signed-off-by: Humble Devassy Chirammal <hchiramm@redhat.com> Reviewed-on: http://review.gluster.org/12489 Reviewed-by: Manikandan Selvaganesh <mselvaga@redhat.com> Tested-by: NetBSD Build System <jenkins@build.gluster.org> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijaikumar Mallikarjuna <vmallika@redhat.com> Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
-rw-r--r--cli/src/cli-cmd-volume.c10
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-quota.c7
2 files changed, 15 insertions, 2 deletions
diff --git a/cli/src/cli-cmd-volume.c b/cli/src/cli-cmd-volume.c
index 4e16ce1528f..bc292864cb0 100644
--- a/cli/src/cli-cmd-volume.c
+++ b/cli/src/cli-cmd-volume.c
@@ -1112,6 +1112,7 @@ gf_cli_create_auxiliary_mount (char *volname)
char pidfile_path[PATH_MAX] = {0,};
char logfile[PATH_MAX] = {0,};
char qpid [16] = {0,};
+ char *sockpath = NULL;
GLUSTERFS_GET_AUX_MOUNT_PIDFILE (pidfile_path, volname);
@@ -1135,8 +1136,15 @@ gf_cli_create_auxiliary_mount (char *volname)
DEFAULT_LOG_FILE_DIRECTORY, volname);
snprintf(qpid, 15, "%d", GF_CLIENT_PID_QUOTA_MOUNT);
+ if (global_state->glusterd_sock) {
+ sockpath = global_state->glusterd_sock;
+ } else {
+ sockpath = DEFAULT_GLUSTERD_SOCKFILE;
+ }
+
ret = runcmd (SBIN_DIR"/glusterfs",
- "-s", "localhost",
+ "--volfile-server", sockpath,
+ "--volfile-server-transport", "unix",
"--volfile-id", volname,
"-l", logfile,
"-p", pidfile_path,
diff --git a/xlators/mgmt/glusterd/src/glusterd-quota.c b/xlators/mgmt/glusterd/src/glusterd-quota.c
index b8efcf12eeb..12198cc6cac 100644
--- a/xlators/mgmt/glusterd/src/glusterd-quota.c
+++ b/xlators/mgmt/glusterd/src/glusterd-quota.c
@@ -229,6 +229,7 @@ glusterd_quota_initiate_fs_crawl (glusterd_conf_t *priv, char *volname,
char mountdir[] = "/tmp/mntXXXXXX";
char logfile[PATH_MAX] = {0,};
runner_t runner = {0};
+ char *volfileserver = NULL;
if (mkdtemp (mountdir) == NULL) {
gf_msg_debug ("glusterd", 0,
@@ -239,9 +240,13 @@ glusterd_quota_initiate_fs_crawl (glusterd_conf_t *priv, char *volname,
snprintf (logfile, sizeof (logfile),
DEFAULT_LOG_FILE_DIRECTORY"/%s-quota-crawl.log", volname);
+ if (dict_get_str (THIS->options, "transport.socket.bind-address",
+ &volfileserver) != 0)
+ volfileserver = "localhost";
+
runinit (&runner);
runner_add_args (&runner, SBIN_DIR"/glusterfs",
- "-s", "localhost",
+ "-s", volfileserver,
"--volfile-id", volname,
"--use-readdirp=no",
"--client-pid", QUOTA_CRAWL_PID,