diff options
author | Jeff Darcy <jdarcy@fb.com> | 2017-07-14 17:40:45 -0700 |
---|---|---|
committer | Shreyas Siravara <sshreyas@fb.com> | 2017-09-09 16:54:52 +0000 |
commit | 4d8268d7602979795972d976dab4959d5e0db55b (patch) | |
tree | dd0d1b8712559e94abc070369f1f1985ace90fc8 /libglusterfs/src | |
parent | 898c491328b804db4ea588348c8196347a131ffe (diff) |
io-threads: nuke everything from a client when it disconnects
Summary: These requests haven't been issued, yet alone acknowledged. They would disappear if we crashed, which to the client is indistinguishable from any other kind of disconnection - if indeed the client itself isn't the one that died. So we're completely within our rights to discard these. There are strong hints that such "orphan" requests are part of how we get into the lock-revocation hangs we've been seeing for a while. Even if that theory doesn't pan out, there's no good reason to keep them around clogging up queues and so forth.
This is a port of D5430057 & D5662545 to 3.8
Change-Id: Ie4c88f7791aac85540631f60f5c639497468ad76
Reviewed-on: https://review.gluster.org/18254
Reviewed-by: Shreyas Siravara <sshreyas@fb.com>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Smoke: Gluster Build System <jenkins@build.gluster.org>
Diffstat (limited to 'libglusterfs/src')
-rw-r--r-- | libglusterfs/src/call-stub.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libglusterfs/src/call-stub.h b/libglusterfs/src/call-stub.h index 5779ee36e58..67a5a650ca5 100644 --- a/libglusterfs/src/call-stub.h +++ b/libglusterfs/src/call-stub.h @@ -22,6 +22,7 @@ typedef struct _call_stub { char wind; call_frame_t *frame; glusterfs_fop_t fop; + gf_boolean_t poison; struct mem_pool *stub_mem_pool; /* pointer to stub mempool in ctx_t */ uint32_t jnl_meta_len; uint32_t jnl_data_len; |