diff options
author | shishir <shishirng@gluster.com> | 2011-07-27 15:03:40 +0530 |
---|---|---|
committer | Anand Avati <avati@gluster.com> | 2011-07-28 03:03:14 -0700 |
commit | ff5fddcf54805464c1033ee4665835784e260831 (patch) | |
tree | 1362796f384895229dde0fb865e286a2d08ffad5 /rpc | |
parent | 2a6de14e22445fc3017c9aa25b9c56bc4259d373 (diff) |
Stripe_readdirp: Fix race in wind/unwind which led to crash
Scenario - The race window exists when before we wind to a stat call
in readdirp_cbk, whereas stats have returned to cbk. We would free up
local, which leads to a crash.
Fix - We assume all entries to be regular files, and set the wind_count
as a multiple of entries * subvol (stat calls). When we encounter a non
regular file, we decrement the windcount accordingly (subvol times). If
the last entry happens to be a non-regular file, and all stat calls have
wound back, we unwind from here itself.
Change-Id: Ia8e225ef557cbe1fedb9b72de9bd9fa61f371a24
BUG: 3257
Reviewed-on: http://review.gluster.com/115
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
Diffstat (limited to 'rpc')
0 files changed, 0 insertions, 0 deletions