diff options
| -rw-r--r-- | xlators/features/marker/utils/syncdaemon/gsyncd.py | 1 | ||||
| -rw-r--r-- | xlators/features/marker/utils/syncdaemon/master.py | 6 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-geo-rep.c | 2 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 5 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.h | 2 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd.c | 5 | 
6 files changed, 16 insertions, 5 deletions
diff --git a/xlators/features/marker/utils/syncdaemon/gsyncd.py b/xlators/features/marker/utils/syncdaemon/gsyncd.py index 9e946946..d7deca86 100644 --- a/xlators/features/marker/utils/syncdaemon/gsyncd.py +++ b/xlators/features/marker/utils/syncdaemon/gsyncd.py @@ -173,6 +173,7 @@ def main_i():      op.add_option('--sync-jobs',           metavar='N',     type=int, default=3)      op.add_option('--turns',               metavar='N',     type=int, default=0, help=SUPPRESS_HELP)      op.add_option('--allow-network',       metavar='IPS',   default='') +    op.add_option('--socketdir',           metavar='DIR')      op.add_option('--state-socket-unencoded', metavar='SOCKF', type=str, action='callback', callback=store_abs)      op.add_option('--checkpoint',          metavar='LABEL', default='')      # tunables for failover/failback mechanism: diff --git a/xlators/features/marker/utils/syncdaemon/master.py b/xlators/features/marker/utils/syncdaemon/master.py index 336f5920..19cb09e7 100644 --- a/xlators/features/marker/utils/syncdaemon/master.py +++ b/xlators/features/marker/utils/syncdaemon/master.py @@ -496,10 +496,12 @@ class GMasterBase(object):      def start_checkpoint_thread(self):          """prepare and start checkpoint service""" -        if self.checkpoint_thread or not getattr(gconf, 'state_socket_unencoded', None): +        if self.checkpoint_thread or not ( +          getattr(gconf, 'state_socket_unencoded', None) and getattr(gconf, 'socketdir', None) +        ):              return          chan = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) -        state_socket = "/tmp/%s.socket" % md5(gconf.state_socket_unencoded).hexdigest() +        state_socket = os.path.join(gconf.socketdir, md5(gconf.state_socket_unencoded).hexdigest() + ".socket")          try:              os.unlink(state_socket)          except: diff --git a/xlators/mgmt/glusterd/src/glusterd-geo-rep.c b/xlators/mgmt/glusterd/src/glusterd-geo-rep.c index 3661d9d0..b0e3a38d 100644 --- a/xlators/mgmt/glusterd/src/glusterd-geo-rep.c +++ b/xlators/mgmt/glusterd/src/glusterd-geo-rep.c @@ -30,6 +30,8 @@ static char *gsync_reserved_opts[] = {          "pid-file",          "state-file",          "session-owner", +        "state-socket-unencoded", +        "socketdir",          NULL  }; diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index 6c287023..5395e0a9 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -70,7 +70,6 @@  #define CEILING_POS(X) (((X)-(int)(X)) > 0 ? (int)((X)+1) : (int)(X)) -char    *glusterd_sock_dir = "/var/run";  static glusterd_lock_t lock;  static void @@ -1091,7 +1090,7 @@ glusterd_set_socket_filepath (char *sock_filepath, char *sockpath, size_t len)          char md5_sum[MD5_DIGEST_LENGTH*2+1] = {0,};          md5_wrapper ((unsigned char *) sock_filepath, strlen(sock_filepath), md5_sum); -        snprintf (sockpath, len, "%s/%s.socket", glusterd_sock_dir, md5_sum); +        snprintf (sockpath, len, "%s/%s.socket", GLUSTERD_SOCK_DIR, md5_sum);  }  void @@ -1106,7 +1105,7 @@ glusterd_set_brick_socket_filepath (glusterd_volinfo_t *volinfo,          glusterd_conf_t         *priv = NULL;          int                     expected_file_len = 0; -        expected_file_len = strlen (glusterd_sock_dir) + strlen ("/") + +        expected_file_len = strlen (GLUSTERD_SOCK_DIR) + strlen ("/") +                              MD5_DIGEST_LENGTH*2 + strlen (".socket") + 1;          GF_ASSERT (len >= expected_file_len);          this = THIS; diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.h b/xlators/mgmt/glusterd/src/glusterd-utils.h index 3f956dee..00353b03 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.h +++ b/xlators/mgmt/glusterd/src/glusterd-utils.h @@ -28,6 +28,8 @@  #include "rpc-clnt.h"  #include "protocol-common.h" +#define GLUSTERD_SOCK_DIR "/var/run" +  struct glusterd_lock_ {          uuid_t  owner;          time_t  timestamp; diff --git a/xlators/mgmt/glusterd/src/glusterd.c b/xlators/mgmt/glusterd/src/glusterd.c index c4629c79..f9cdb65a 100644 --- a/xlators/mgmt/glusterd/src/glusterd.c +++ b/xlators/mgmt/glusterd/src/glusterd.c @@ -567,6 +567,11 @@ configure_syncdaemon (glusterd_conf_t *conf)          runner_add_args (&runner, ".", ".", NULL);          RUN_GSYNCD_CMD; +        /* socketdir */ +        runinit_gsyncd_setrx (&runner, conf); +        runner_add_args (&runner, "socketdir", GLUSTERD_SOCK_DIR, ".", ".", NULL); +        RUN_GSYNCD_CMD; +          /* log-file */          runinit_gsyncd_setrx (&runner, conf);          runner_add_args (&runner,  | 
