diff options
Diffstat (limited to '0249-Revert-client-fini-return-fini-after-rpc-cleanup.patch')
-rw-r--r-- | 0249-Revert-client-fini-return-fini-after-rpc-cleanup.patch | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/0249-Revert-client-fini-return-fini-after-rpc-cleanup.patch b/0249-Revert-client-fini-return-fini-after-rpc-cleanup.patch new file mode 100644 index 0000000..5547257 --- /dev/null +++ b/0249-Revert-client-fini-return-fini-after-rpc-cleanup.patch @@ -0,0 +1,95 @@ +From 1864a4f382f3031915e8126440a1561035487e49 Mon Sep 17 00:00:00 2001 +From: Mohammed Rafi KC <rkavunga@redhat.com> +Date: Thu, 11 Jul 2019 12:53:20 +0530 +Subject: [PATCH 249/255] Revert "client/fini: return fini after rpc cleanup" + +This reverts commit d79cb2cdff6fe8d962c9ac095a7541ddf500302b. + +BUG: 1471742 +Change-Id: I15e6544d47fb7b6002c3b44de3fe0b2a13c84f51 +Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com> +Reviewed-on: https://code.engineering.redhat.com/gerrit/175958 +Tested-by: RHGS Build Bot <nigelb@redhat.com> +Reviewed-by: Sunil Kumar Heggodu Gopala Acharya <sheggodu@redhat.com> +--- + xlators/protocol/client/src/client.c | 25 +++++-------------------- + xlators/protocol/client/src/client.h | 6 ------ + 2 files changed, 5 insertions(+), 26 deletions(-) + +diff --git a/xlators/protocol/client/src/client.c b/xlators/protocol/client/src/client.c +index 95e4be5..532ef35 100644 +--- a/xlators/protocol/client/src/client.c ++++ b/xlators/protocol/client/src/client.c +@@ -49,12 +49,11 @@ client_fini_complete(xlator_t *this) + if (!conf->destroy) + return 0; + +- pthread_mutex_lock(&conf->lock); +- { +- conf->fini_completed = _gf_true; +- pthread_cond_broadcast(&conf->fini_complete_cond); +- } +- pthread_mutex_unlock(&conf->lock); ++ this->private = NULL; ++ ++ pthread_spin_destroy(&conf->fd_lock); ++ pthread_mutex_destroy(&conf->lock); ++ GF_FREE(conf); + + out: + return 0; +@@ -2730,7 +2729,6 @@ init(xlator_t *this) + goto out; + + pthread_mutex_init(&conf->lock, NULL); +- pthread_cond_init(&conf->fini_complete_cond, NULL); + pthread_spin_init(&conf->fd_lock, 0); + INIT_LIST_HEAD(&conf->saved_fds); + +@@ -2789,7 +2787,6 @@ fini(xlator_t *this) + if (!conf) + return; + +- conf->fini_completed = _gf_false; + conf->destroy = 1; + if (conf->rpc) { + /* cleanup the saved-frames before last unref */ +@@ -2797,18 +2794,6 @@ fini(xlator_t *this) + rpc_clnt_unref(conf->rpc); + } + +- pthread_mutex_lock(&conf->lock); +- { +- while (!conf->fini_completed) +- pthread_cond_wait(&conf->fini_complete_cond, &conf->lock); +- } +- pthread_mutex_unlock(&conf->lock); +- +- pthread_spin_destroy(&conf->fd_lock); +- pthread_mutex_destroy(&conf->lock); +- pthread_cond_destroy(&conf->fini_complete_cond); +- GF_FREE(conf); +- + /* Saved Fds */ + /* TODO: */ + +diff --git a/xlators/protocol/client/src/client.h b/xlators/protocol/client/src/client.h +index 8dcd72f..f12fa61 100644 +--- a/xlators/protocol/client/src/client.h ++++ b/xlators/protocol/client/src/client.h +@@ -235,12 +235,6 @@ typedef struct clnt_conf { + * up, disconnects can be + * logged + */ +- +- gf_boolean_t old_protocol; /* used only for old-protocol testing */ +- pthread_cond_t fini_complete_cond; /* Used to wait till we finsh the fini +- compltely, ie client_fini_complete +- to return*/ +- gf_boolean_t fini_completed; + } clnt_conf_t; + + typedef struct _client_fd_ctx { +-- +1.8.3.1 + |