diff options
-rw-r--r-- | cli/src/cli.c | 3 | ||||
-rw-r--r-- | glusterfsd/src/glusterfsd-mgmt.c | 28 | ||||
-rw-r--r-- | glusterfsd/src/glusterfsd.c | 58 | ||||
-rw-r--r-- | glusterfsd/src/glusterfsd.h | 2 | ||||
-rw-r--r-- | libglusterfs/src/Makefile.am | 2 | ||||
-rw-r--r-- | libglusterfs/src/common-utils.c | 4 | ||||
-rw-r--r-- | libglusterfs/src/common-utils.h | 2 | ||||
-rw-r--r-- | libglusterfs/src/ctx.c | 47 | ||||
-rw-r--r-- | libglusterfs/src/globals.c | 45 | ||||
-rw-r--r-- | libglusterfs/src/globals.h | 7 | ||||
-rw-r--r-- | libglusterfs/src/glusterfs.h | 3 | ||||
-rw-r--r-- | libglusterfs/src/latency.c | 6 | ||||
-rw-r--r-- | libglusterfs/src/latency.h | 3 | ||||
-rw-r--r-- | libglusterfs/src/mem-pool.c | 15 | ||||
-rw-r--r-- | libglusterfs/src/statedump.c | 9 | ||||
-rw-r--r-- | libglusterfs/src/statedump.h | 2 | ||||
-rw-r--r-- | libglusterfs/src/xlator.c | 4 | ||||
-rw-r--r-- | xlators/cluster/dht/src/dht-rebalance.c | 10 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-syncop.c | 2 | ||||
-rw-r--r-- | xlators/mount/fuse/src/fuse-bridge.c | 2 |
20 files changed, 121 insertions, 133 deletions
diff --git a/cli/src/cli.c b/cli/src/cli.c index 1a2081edca..ccbc88f02e 100644 --- a/cli/src/cli.c +++ b/cli/src/cli.c @@ -552,9 +552,10 @@ main (int argc, char *argv[]) if (ret) return ret; - ctx = glusterfs_ctx_get (); + ctx = glusterfs_ctx_new (); if (!ctx) return ENOMEM; + THIS->ctx = ctx; ret = glusterfs_ctx_defaults_init (ctx); if (ret) diff --git a/glusterfsd/src/glusterfsd-mgmt.c b/glusterfsd/src/glusterfsd-mgmt.c index f371298781..2b7b4aa516 100644 --- a/glusterfsd/src/glusterfsd-mgmt.c +++ b/glusterfsd/src/glusterfsd-mgmt.c @@ -63,7 +63,7 @@ mgmt_cbk_spec (struct rpc_clnt *rpc, void *mydata, void *data) xlator_t *this = NULL; this = mydata; - ctx = glusterfs_ctx_get (); + ctx = glusterfsd_ctx; gf_log ("mgmt", GF_LOG_INFO, "Volume file changed"); glusterfs_volfile_fetch (ctx); @@ -269,7 +269,7 @@ glusterfs_handle_translator_info_get_cont (gfd_vol_top_priv_t *priv) goto cont; cont: - ctx = glusterfs_ctx_get (); + ctx = glusterfsd_ctx; GF_ASSERT (ctx); active = ctx->active; any = active->first; @@ -658,7 +658,7 @@ glusterfs_handle_translator_op (void *data) goto out; } - ctx = glusterfs_ctx_get (); + ctx = glusterfsd_ctx; active = ctx->active; any = active->first; input = dict_new (); @@ -735,7 +735,7 @@ glusterfs_handle_defrag (rpcsvc_request_t *req) this = THIS; GF_ASSERT (this); - ctx = glusterfs_ctx_get (); + ctx = glusterfsd_ctx; GF_ASSERT (ctx); active = ctx->active; @@ -841,7 +841,7 @@ glusterfs_handle_brick_status (rpcsvc_request_t *req) goto out; } - ctx = glusterfs_ctx_get (); + ctx = glusterfsd_ctx; GF_ASSERT (ctx); active = ctx->active; any = active->first; @@ -977,7 +977,7 @@ glusterfs_handle_node_status (rpcsvc_request_t *req) goto out; } - ctx = glusterfs_ctx_get (); + ctx = glusterfsd_ctx; GF_ASSERT (ctx); active = ctx->active; any = active->first; @@ -1140,7 +1140,7 @@ glusterfs_handle_nfs_profile (rpcsvc_request_t *req) goto out; } - ctx = glusterfs_ctx_get (); + ctx = glusterfsd_ctx; GF_ASSERT (ctx); active = ctx->active; @@ -1482,13 +1482,7 @@ glusterfs_volfile_reconfigure (FILE *newvolfile_fp) "Only options have changed in the new " "graph"); - ctx = glusterfs_ctx_get (); - - if (!ctx) { - gf_log ("glusterfsd-mgmt", GF_LOG_ERROR, - "glusterfs_ctx_get() returned NULL"); - goto out; - } + ctx = glusterfsd_ctx; oldvolfile_graph = ctx->active; @@ -1732,7 +1726,7 @@ glusterfs_rebalance_event_notify (dict_t *dict) cmd_args_t *cmd_args = NULL; call_frame_t *frame = NULL; - ctx = glusterfs_ctx_get (); + ctx = glusterfsd_ctx; cmd_args = &ctx->cmd_args; frame = create_frame (THIS, ctx->pool); @@ -2068,7 +2062,7 @@ mgmt_pmap_signin_cbk (struct rpc_req *req, struct iovec *iov, int count, goto out; } - ctx = glusterfs_ctx_get (); + ctx = glusterfsd_ctx; cmd_args = &ctx->cmd_args; if (!cmd_args->brick_port2) { @@ -2137,7 +2131,7 @@ mgmt_pmap_signout_cbk (struct rpc_req *req, struct iovec *iov, int count, goto out; } - ctx = glusterfs_ctx_get (); + ctx = glusterfsd_ctx; ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_pmap_signout_rsp); if (ret < 0) { gf_log (THIS->name, GF_LOG_ERROR, "XDR decoding failed"); diff --git a/glusterfsd/src/glusterfsd.c b/glusterfsd/src/glusterfsd.c index c9c7ad065a..2b6ee54523 100644 --- a/glusterfsd/src/glusterfsd.c +++ b/glusterfsd/src/glusterfsd.c @@ -492,7 +492,7 @@ gf_remember_xlator_option (struct list_head *options, char *arg) char *dot = NULL; char *equals = NULL; - ctx = glusterfs_ctx_get (); + ctx = glusterfsd_ctx; cmd_args = &ctx->cmd_args; option = GF_CALLOC (1, sizeof (xlator_cmdline_option_t), @@ -560,7 +560,6 @@ out: static error_t parse_opts (int key, char *arg, struct argp_state *state) { - glusterfs_ctx_t *ctx = NULL; cmd_args_t *cmd_args = NULL; uint32_t n = 0; double d = 0.0; @@ -833,8 +832,7 @@ parse_opts (int key, char *arg, struct argp_state *state) case ARGP_MEM_ACCOUNTING_KEY: /* TODO: it should have got handled much earlier */ - ctx = glusterfs_ctx_get (); - ctx->mem_accounting = 1; + gf_mem_acct_enable_set (); break; case ARGP_FOPEN_KEEP_CACHE_KEY: @@ -859,7 +857,7 @@ cleanup_and_exit (int signum) glusterfs_ctx_t *ctx = NULL; xlator_t *trav = NULL; - ctx = glusterfs_ctx_get (); + ctx = glusterfsd_ctx; if (!ctx) return; @@ -918,7 +916,7 @@ reincarnate (int signum) glusterfs_ctx_t *ctx = NULL; cmd_args_t *cmd_args = NULL; - ctx = glusterfs_ctx_get (); + ctx = glusterfsd_ctx; cmd_args = &ctx->cmd_args; if (cmd_args->volfile_server) { @@ -1190,12 +1188,12 @@ logging_init (glusterfs_ctx_t *ctx) } void -gf_check_and_set_mem_acct (int argc, char *argv[], glusterfs_ctx_t *ctx) +gf_check_and_set_mem_acct (int argc, char *argv[]) { int i = 0; for (i = 0; i < argc; i++) { if (strcmp (argv[i], "--mem-accounting") == 0) { - ctx->mem_accounting = 1; + gf_mem_acct_enable_set (); break; } } @@ -1463,10 +1461,10 @@ glusterfs_sigwaiter (void *arg) reincarnate (sig); break; case SIGUSR1: - gf_proc_dump_info (sig); + gf_proc_dump_info (sig, glusterfsd_ctx); break; case SIGUSR2: - gf_latency_toggle (sig); + gf_latency_toggle (sig, glusterfsd_ctx); break; default: @@ -1478,6 +1476,13 @@ glusterfs_sigwaiter (void *arg) } +void +glusterfsd_print_trace (int signum) +{ + gf_print_trace (signum, glusterfsd_ctx); +} + + int glusterfs_signals_setup (glusterfs_ctx_t *ctx) { @@ -1487,12 +1492,12 @@ glusterfs_signals_setup (glusterfs_ctx_t *ctx) sigemptyset (&set); /* common setting for all threads */ - signal (SIGSEGV, gf_print_trace); - signal (SIGABRT, gf_print_trace); - signal (SIGILL, gf_print_trace); - signal (SIGTRAP, gf_print_trace); - signal (SIGFPE, gf_print_trace); - signal (SIGBUS, gf_print_trace); + signal (SIGSEGV, glusterfsd_print_trace); + signal (SIGABRT, glusterfsd_print_trace); + signal (SIGILL, glusterfsd_print_trace); + signal (SIGTRAP, glusterfsd_print_trace); + signal (SIGFPE, glusterfsd_print_trace); + signal (SIGBUS, glusterfsd_print_trace); signal (SIGINT, cleanup_and_exit); signal (SIGPIPE, SIG_IGN); @@ -1504,7 +1509,7 @@ glusterfs_signals_setup (glusterfs_ctx_t *ctx) ret = pthread_sigmask (SIG_BLOCK, &set, NULL); if (ret) { - gf_log ("", GF_LOG_WARNING, + gf_log ("glusterfsd", GF_LOG_WARNING, "failed to execute pthread_signmask %s", strerror (errno)); return ret; @@ -1518,7 +1523,7 @@ glusterfs_signals_setup (glusterfs_ctx_t *ctx) fallback to signals getting handled by other threads. setup the signal handlers */ - gf_log ("", GF_LOG_WARNING, + gf_log ("glusterfsd", GF_LOG_WARNING, "failed to create pthread %s", strerror (errno)); return ret; @@ -1667,6 +1672,9 @@ out: } +/* This is the only legal global pointer */ +glusterfs_ctx_t *glusterfsd_ctx; + int main (int argc, char *argv[]) { @@ -1677,16 +1685,20 @@ main (int argc, char *argv[]) if (ret) return ret; - ctx = glusterfs_ctx_get (); +#ifndef DEBUG + /* Enable memory accounting on the fly based on argument */ + gf_check_and_set_mem_acct (argc, argv); +#endif + + ctx = glusterfs_ctx_new (); if (!ctx) { gf_log ("glusterfs", GF_LOG_CRITICAL, "ERROR: glusterfs context not initialized"); return ENOMEM; } -#ifndef DEBUG - /* Enable memory accounting on the fly based on argument */ - gf_check_and_set_mem_acct (argc, argv, ctx); -#endif + glusterfsd_ctx = ctx; + THIS->ctx = ctx; + ret = glusterfs_ctx_defaults_init (ctx); if (ret) goto out; diff --git a/glusterfsd/src/glusterfsd.h b/glusterfsd/src/glusterfsd.h index 5c00acb5db..75edff6a63 100644 --- a/glusterfsd/src/glusterfsd.h +++ b/glusterfsd/src/glusterfsd.h @@ -109,4 +109,6 @@ void cleanup_and_exit (int signum); void *glusterfs_volume_top_read_perf (void *args); void *glusterfs_volume_top_write_perf (void *args); + +extern glusterfs_ctx_t *glusterfsd_ctx; #endif /* __GLUSTERFSD_H__ */ diff --git a/libglusterfs/src/Makefile.am b/libglusterfs/src/Makefile.am index bcfe467af6..85e0611453 100644 --- a/libglusterfs/src/Makefile.am +++ b/libglusterfs/src/Makefile.am @@ -23,7 +23,7 @@ libglusterfs_la_SOURCES = dict.c xlator.c logging.c \ $(CONTRIBDIR)/uuid/uuid_time.c $(CONTRIBDIR)/uuid/compare.c \ $(CONTRIBDIR)/uuid/isnull.c $(CONTRIBDIR)/uuid/unpack.c syncop.c \ graph-print.c trie.c run.c options.c fd-lk.c circ-buff.c \ - event-history.c gidcache.c + event-history.c gidcache.c ctx.c nodist_libglusterfs_la_SOURCES = y.tab.c graph.lex.c diff --git a/libglusterfs/src/common-utils.c b/libglusterfs/src/common-utils.c index cd7045277b..e5056b1e85 100644 --- a/libglusterfs/src/common-utils.c +++ b/libglusterfs/src/common-utils.c @@ -392,8 +392,9 @@ out: /* Obtain a backtrace and print it to stdout. */ /* TODO: It looks like backtrace_symbols allocates memory, it may be problem because mostly memory allocation/free causes 'sigsegv' */ + void -gf_print_trace (int32_t signum) +gf_print_trace (int32_t signum, glusterfs_ctx_t *ctx) { extern FILE *gf_log_logfile; char msg[1024] = {0,}; @@ -409,7 +410,6 @@ gf_print_trace (int32_t signum) goto out; { - glusterfs_ctx_t *ctx = glusterfs_ctx_get (); struct list_head *trav = ((call_pool_t *)ctx->pool)->all_frames.next; while (trav != (&((call_pool_t *)ctx->pool)->all_frames)) { call_frame_t *tmp = (call_frame_t *)(&((call_stack_t *)trav)->frames); diff --git a/libglusterfs/src/common-utils.h b/libglusterfs/src/common-utils.h index f21ade40b8..7fbaa87a87 100644 --- a/libglusterfs/src/common-utils.h +++ b/libglusterfs/src/common-utils.h @@ -107,7 +107,7 @@ void gf_global_variable_init(void); in_addr_t gf_resolve_ip (const char *hostname, void **dnscache); void gf_log_volume_file (FILE *specfp); -void gf_print_trace (int32_t signal); +void gf_print_trace (int32_t signal, glusterfs_ctx_t *ctx); extern char *gf_fop_list[GF_FOP_MAXVALUE]; extern char *gf_mgmt_list[GF_MGMT_MAXVALUE]; diff --git a/libglusterfs/src/ctx.c b/libglusterfs/src/ctx.c new file mode 100644 index 0000000000..22591317d8 --- /dev/null +++ b/libglusterfs/src/ctx.c @@ -0,0 +1,47 @@ +/* + Copyright (c) 2008-2012 Red Hat, Inc. <http://www.redhat.com> + This file is part of GlusterFS. + + This file is licensed to you under your choice of the GNU Lesser + General Public License, version 3 or any later version (LGPLv3 or + later), or the GNU General Public License, version 2 (GPLv2), in all + cases as published by the Free Software Foundation. +*/ + +#ifndef _CONFIG_H +#define _CONFIG_H +#include "config.h" +#endif /* !_CONFIG_H */ + +#include <pthread.h> + +#include "glusterfs.h" +#include "mem-pool.h" + + +glusterfs_ctx_t * +glusterfs_ctx_new () +{ + int ret = 0; + glusterfs_ctx_t *ctx = NULL; + + /* no GF_CALLOC here, gf_acct_mem_set_enable is not + yet decided at this point */ + ctx = CALLOC (1, sizeof (*ctx)); + if (!ctx) { + ret = -1; + goto out; + } + + INIT_LIST_HEAD (&ctx->graphs); + INIT_LIST_HEAD (&ctx->mempool_list); + + ret = pthread_mutex_init (&ctx->lock, NULL); + if (ret) { + FREE (ctx); + ctx = NULL; + } +out: + return ctx; +} + diff --git a/libglusterfs/src/globals.c b/libglusterfs/src/globals.c index 703c5271d7..49f118c6a0 100644 --- a/libglusterfs/src/globals.c +++ b/libglusterfs/src/globals.c @@ -81,43 +81,6 @@ gf_op_list_init() } -/* CTX */ -static glusterfs_ctx_t *glusterfs_ctx; - - -int -glusterfs_ctx_init () -{ - int ret = 0; - - if (glusterfs_ctx) { - gf_log_callingfn ("", GF_LOG_WARNING, "init called again"); - goto out; - } - - glusterfs_ctx = CALLOC (1, sizeof (*glusterfs_ctx)); - if (!glusterfs_ctx) { - ret = -1; - goto out; - } - - INIT_LIST_HEAD (&glusterfs_ctx->graphs); - INIT_LIST_HEAD (&glusterfs_ctx->mempool_list); - ret = pthread_mutex_init (&glusterfs_ctx->lock, NULL); - -out: - return ret; -} - - -glusterfs_ctx_t * -glusterfs_ctx_get () -{ - return glusterfs_ctx; - -} - - /* THIS */ xlator_t global_xlator; @@ -143,7 +106,6 @@ glusterfs_this_init () global_xlator.name = "glusterfs"; global_xlator.type = "global"; - global_xlator.ctx = glusterfs_ctx; INIT_LIST_HEAD (&global_xlator.volume_options); @@ -327,13 +289,6 @@ glusterfs_globals_init () gf_log_globals_init (); - ret = glusterfs_ctx_init (); - if (ret) { - gf_log ("", GF_LOG_CRITICAL, - "ERROR: glusterfs context init failed"); - goto out; - } - ret = glusterfs_this_init (); if (ret) { gf_log ("", GF_LOG_CRITICAL, diff --git a/libglusterfs/src/globals.h b/libglusterfs/src/globals.h index e797db184b..7ccdb4a149 100644 --- a/libglusterfs/src/globals.h +++ b/libglusterfs/src/globals.h @@ -13,13 +13,6 @@ #define GF_DEFAULT_BASE_PORT 24007 -#include "glusterfs.h" - -/* CTX */ -#define CTX (glusterfs_ctx_get()) - -glusterfs_ctx_t *glusterfs_ctx_get (); - #include "xlator.h" /* THIS */ diff --git a/libglusterfs/src/glusterfs.h b/libglusterfs/src/glusterfs.h index 7e2c813560..d14666fb63 100644 --- a/libglusterfs/src/glusterfs.h +++ b/libglusterfs/src/glusterfs.h @@ -369,13 +369,12 @@ struct _glusterfs_ctx { struct mem_pool *dict_pair_pool; struct mem_pool *dict_data_pool; - int mem_accounting; /* if value is other than 0, it - will be set */ glusterfsd_mgmt_event_notify_fn_t notify; /* Used for xlators to make call to fsd-mgmt */ }; typedef struct _glusterfs_ctx glusterfs_ctx_t; +glusterfs_ctx_t *glusterfs_ctx_new (void); /* If you edit this structure then, make a corresponding change in * globals.c in the eventstring. diff --git a/libglusterfs/src/latency.c b/libglusterfs/src/latency.c index 58e8b91585..f7747b3923 100644 --- a/libglusterfs/src/latency.c +++ b/libglusterfs/src/latency.c @@ -159,12 +159,8 @@ gf_proc_dump_latency_info (xlator_t *xl) void -gf_latency_toggle (int signum) +gf_latency_toggle (int signum, glusterfs_ctx_t *ctx) { - glusterfs_ctx_t *ctx = NULL; - - ctx = glusterfs_ctx_get (); - if (ctx) { ctx->measure_latency = !ctx->measure_latency; gf_log ("[core]", GF_LOG_INFO, diff --git a/libglusterfs/src/latency.h b/libglusterfs/src/latency.h index 16c5994b00..81acbf4847 100644 --- a/libglusterfs/src/latency.h +++ b/libglusterfs/src/latency.h @@ -11,6 +11,7 @@ #ifndef __LATENCY_H__ #define __LATENCY_H__ +#include "glusterfs.h" typedef struct fop_latency { uint64_t min; /* min time for the call (microseconds) */ @@ -22,6 +23,6 @@ typedef struct fop_latency { } fop_latency_t; void -gf_latency_toggle (int signum); +gf_latency_toggle (int signum, glusterfs_ctx_t *ctx); #endif /* __LATENCY_H__ */ diff --git a/libglusterfs/src/mem-pool.c b/libglusterfs/src/mem-pool.c index 3e8100c643..2df47756f7 100644 --- a/libglusterfs/src/mem-pool.c +++ b/libglusterfs/src/mem-pool.c @@ -38,23 +38,14 @@ gf_mem_acct_is_enabled () return gf_mem_acct_enable; } + void gf_mem_acct_enable_set () { -#ifdef DEBUG - gf_mem_acct_enable = 1; - return; -#endif - glusterfs_ctx_t *ctx = NULL; char *opt = NULL; long val = -1; - gf_mem_acct_enable = 0; - - ctx = glusterfs_ctx_get (); - - if (ctx->mem_accounting) { - gf_mem_acct_enable = 1; + if (gf_mem_acct_enable) { return; } @@ -365,7 +356,7 @@ mem_pool_new_fn (unsigned long sizeof_type, mem_pool->pool_end = pool + (count * (padded_sizeof_type)); /* add this pool to the global list */ - ctx = glusterfs_ctx_get (); + ctx = THIS->ctx; if (!ctx) goto out; diff --git a/libglusterfs/src/statedump.c b/libglusterfs/src/statedump.c index 6941468747..1abd603adc 100644 --- a/libglusterfs/src/statedump.c +++ b/libglusterfs/src/statedump.c @@ -381,7 +381,7 @@ gf_proc_dump_xlator_info (xlator_t *top) if (!top) return; - ctx = glusterfs_ctx_get (); + ctx = top->ctx; trav = top; while (trav) { @@ -436,7 +436,7 @@ gf_proc_dump_oldgraph_xlator_info (xlator_t *top) if (!top) return; - ctx = glusterfs_ctx_get (); + ctx = top->ctx; trav = top; while (trav) { @@ -614,18 +614,17 @@ gf_proc_dump_options_init () return 0; } + void -gf_proc_dump_info (int signum) +gf_proc_dump_info (int signum, glusterfs_ctx_t *ctx) { int i = 0; int ret = -1; - glusterfs_ctx_t *ctx = NULL; glusterfs_graph_t *trav = NULL; char brick_name[PATH_MAX] = {0,}; gf_proc_dump_lock (); - ctx = glusterfs_ctx_get (); if (!ctx) goto out; diff --git a/libglusterfs/src/statedump.h b/libglusterfs/src/statedump.h index dc56bda0cb..03648ddd9b 100644 --- a/libglusterfs/src/statedump.h +++ b/libglusterfs/src/statedump.h @@ -61,7 +61,7 @@ void gf_proc_dump_fini(void); void gf_proc_dump_cleanup(void); -void gf_proc_dump_info(int signum); +void gf_proc_dump_info(int signum, glusterfs_ctx_t *ctx); int gf_proc_dump_add_section(char *key,...); diff --git a/libglusterfs/src/xlator.c b/libglusterfs/src/xlator.c index 2bac24f040..7094f1ef5c 100644 --- a/libglusterfs/src/xlator.c +++ b/libglusterfs/src/xlator.c @@ -460,7 +460,7 @@ xlator_mem_acct_init (xlator_t *xl, int num_types) int i = 0; int ret = 0; - if (!gf_mem_acct_is_enabled()) + if (!gf_mem_acct_is_enabled ()) return 0; if (!xl) @@ -721,7 +721,7 @@ is_gf_log_command (xlator_t *this, const char *name, char *value) goto out; } - ctx = glusterfs_ctx_get(); + ctx = this->ctx; if (!ctx) goto out; if (!ctx->active) diff --git a/xlators/cluster/dht/src/dht-rebalance.c b/xlators/cluster/dht/src/dht-rebalance.c index e33875ffcf..8f2f0adb2f 100644 --- a/xlators/cluster/dht/src/dht-rebalance.c +++ b/xlators/cluster/dht/src/dht-rebalance.c @@ -944,14 +944,13 @@ dht_start_rebalance_task (xlator_t *this, call_frame_t *frame) } int -gf_listener_stop (void) +gf_listener_stop (xlator_t *this) { glusterfs_ctx_t *ctx = NULL; cmd_args_t *cmd_args = NULL; int ret = 0; - xlator_t *this = NULL; - ctx = glusterfs_ctx_get (); + ctx = this->ctx; GF_ASSERT (ctx); cmd_args = &ctx->cmd_args; if (cmd_args->sock_file) { @@ -962,7 +961,6 @@ gf_listener_stop (void) } if (ret) { - this = THIS; gf_log (this->name, GF_LOG_ERROR, "Failed to unlink listener " "socket %s, error: %s", cmd_args->sock_file, strerror (errno)); @@ -1431,7 +1429,7 @@ gf_defrag_start_crawl (void *data) if (!this) goto out; - ctx = glusterfs_ctx_get (); + ctx = this->ctx; if (!ctx) goto out; @@ -1528,7 +1526,7 @@ out: static int gf_defrag_done (int ret, call_frame_t *sync_frame, void *data) { - gf_listener_stop(); + gf_listener_stop (sync_frame->this); STACK_DESTROY (sync_frame->root); kill (getpid(), SIGTERM); diff --git a/xlators/mgmt/glusterd/src/glusterd-syncop.c b/xlators/mgmt/glusterd/src/glusterd-syncop.c index 629829283a..bc265de674 100644 --- a/xlators/mgmt/glusterd/src/glusterd-syncop.c +++ b/xlators/mgmt/glusterd/src/glusterd-syncop.c @@ -578,7 +578,7 @@ glusterd_op_begin_synctask (rpcsvc_request_t *req, glusterd_op_t op, goto out; } - ctx = glusterfs_ctx_get (); + ctx = THIS->ctx; ret = synctask_new (ctx->env, gd_sync_task_begin, gd_sync_task_completion, diff --git a/xlators/mount/fuse/src/fuse-bridge.c b/xlators/mount/fuse/src/fuse-bridge.c index 3a620ac7e7..d65de5f69a 100644 --- a/xlators/mount/fuse/src/fuse-bridge.c +++ b/xlators/mount/fuse/src/fuse-bridge.c @@ -4447,7 +4447,7 @@ init (xlator_t *this_xl) if (this_xl->options == NULL) return -1; - ctx = glusterfs_ctx_get (); + ctx = this_xl->ctx; if (!ctx) return -1; |