diff options
author | Pranith Kumar K <pkarampu@redhat.com> | 2016-10-09 21:36:40 +0530 |
---|---|---|
committer | Raghavendra G <rgowdapp@redhat.com> | 2016-10-23 02:32:05 -0700 |
commit | d7a5ca16911caca03cec1112d4be56a9cda2ee30 (patch) | |
tree | e93cd2cf7fb740bc9c5102a2e5542972916002bd /xlators/performance/io-threads/src/io-threads.h | |
parent | 255cc64375abe2925c7da1e13e45018dad4462df (diff) |
performance/io-threads: Exit all threads on PARENT_DOWN
Problem:
When glfs_fini() is called on a volume where client.io-threads is enabled,
fini() will free up iothread xl's private structure but there would be some
threads that are sleeping which would wakeup after the timedwait completes
leading to accessing already free'd memory.
Fix:
As part of parent-down, exit all sleeping threads.
BUG: 1381830
Change-Id: I0bb8d90241112c355fb22ee3fbfd7307f475b339
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: http://review.gluster.org/15620
Smoke: Gluster Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Diffstat (limited to 'xlators/performance/io-threads/src/io-threads.h')
-rw-r--r-- | xlators/performance/io-threads/src/io-threads.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/xlators/performance/io-threads/src/io-threads.h b/xlators/performance/io-threads/src/io-threads.h index 7c4ce7849b4..ae548cbcd44 100644 --- a/xlators/performance/io-threads/src/io-threads.h +++ b/xlators/performance/io-threads/src/io-threads.h @@ -81,6 +81,7 @@ struct iot_conf { xlator_t *this; size_t stack_size; + gf_boolean_t down; /*PARENT_DOWN event is notified*/ }; typedef struct iot_conf iot_conf_t; |