diff options
author | Raghavendra G <rgowdapp@redhat.com> | 2013-07-29 23:43:51 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2013-08-14 02:11:58 -0700 |
commit | 1e49b3ac9b1019c742236be8db0ca8ec00750ae7 (patch) | |
tree | 027d6cd702aae990555c931d95f4806db846566e /configure.ac | |
parent | 8360037701788d49471cc0228fa873aa18382023 (diff) |
performance/write-behind: invoke request queue processing if
we find fd marked bad while trying to fulfill lies.
* flush was queued behind some unfulfilled write.
* A previously wound write returned an error and hence fd was marked
bad with corresponding error.
* wb_fulfill_head (invocation probably rooted in wb_flush), before
winding checks for failures of previous writes and since there was a
failure, calls wb_head_done without even winding one request in head.
* wb_head_done unrefs all the requests in list "head".
* since flush was last operation on fd (and most likely last operation
on inode itself), no one invokes wb_process_queue and flush is stuck
in request queue for eternity.
Change-Id: I3b5b114a1c401d477dd7ff64fb6119b43fda2d18
BUG: 988642
Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-on: http://review.gluster.org/5398
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'configure.ac')
0 files changed, 0 insertions, 0 deletions