diff options
author | Raghavendra G <raghavendra@gluster.com> | 2012-05-19 14:49:21 +0530 |
---|---|---|
committer | Vijay Bellur <vijay@gluster.com> | 2012-05-23 06:46:07 -0700 |
commit | 9d4c8b3909b8f572a732b884062b70efa51e4956 (patch) | |
tree | 67ad59d039c088d5e0cab81cd910bb9e12732022 /xlators/performance/quick-read/src/quick-read-mem-types.h | |
parent | 638a4740cc553c96bc01d1dfe4a2b7acf0b406e6 (diff) |
performance/quick-read: fix race-conditions in qr_unlink.v3.3.0qa43
The list of fds on which open needs to be done as part of unlink,
was being modified at different places using different locks.
This resulted in a race-condition where open was marked as in-transit,
but fdctx was removed from the list of fds on which open was being
sent even before open was done. Because of this, open_in_transit would
be set forever (as an open was never actually sent, there would be no
open_cbk called and hence we could not reset the variable), blocking
all the future fd based fops on this fd.
Change-Id: Ie84a55bee578869a9a060a094ba28480e7643ae8
BUG: 819490
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Reviewed-on: http://review.gluster.com/3372
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
Diffstat (limited to 'xlators/performance/quick-read/src/quick-read-mem-types.h')
-rw-r--r-- | xlators/performance/quick-read/src/quick-read-mem-types.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/xlators/performance/quick-read/src/quick-read-mem-types.h b/xlators/performance/quick-read/src/quick-read-mem-types.h index 9a6be76b0e6..73c87c819d0 100644 --- a/xlators/performance/quick-read/src/quick-read-mem-types.h +++ b/xlators/performance/quick-read/src/quick-read-mem-types.h @@ -20,7 +20,7 @@ enum gf_qr_mem_types_ { gf_qr_mt_qr_conf_t, gf_qr_mt_qr_priority_t, gf_qr_mt_qr_private_t, - gf_qr_mt_qr_dentry_t, + gf_qr_mt_qr_unlink_ctx_t, gf_qr_mt_end }; #endif |