summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMohamed Ashiq <mliyazud@redhat.com>2015-11-09 22:09:34 +0530
committerAtin Mukherjee <amukherj@redhat.com>2015-12-07 20:23:43 -0800
commite1a9914fb318cbdd2bb8f36881e8f5f0b45ce76c (patch)
tree0b5789820570395919a0c5a2792d37cdb60db1ad
parent5af5b953a69a7b9ae8ba698fd36ff4df2a4e6dfe (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. Signed-off-by: Mohamed Ashiq <mliyazud@redhat.com> Signed-off-by: Humble Devassy Chirammal <hchiramm@redhat.com> >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> Change-Id: I0fb2b5aff664101135c4f40d47517c1b1759b0af BUG: 1286601 Reviewed-on: http://review.gluster.org/12819 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 a89d004adc4..92edc356705 100644
--- a/cli/src/cli-cmd-volume.c
+++ b/cli/src/cli-cmd-volume.c
@@ -1117,6 +1117,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);
@@ -1140,8 +1141,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 762e90b9238..1830f0e8832 100644
--- a/xlators/mgmt/glusterd/src/glusterd-quota.c
+++ b/xlators/mgmt/glusterd/src/glusterd-quota.c
@@ -234,6 +234,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,
@@ -244,9 +245,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,