summaryrefslogtreecommitdiffstats
path: root/api/src/glfs-fops.c
diff options
context:
space:
mode:
authorRaghavendra G <rgowdapp@redhat.com>2013-07-29 23:43:51 +0530
committerVijay Bellur <vbellur@redhat.com>2013-09-10 01:22:49 -0700
commit8641a8641c4efec9cc7ac20108f2461a0300d01c (patch)
tree84c04b882a3f549b158b90ea99d752d6ec072ca7 /api/src/glfs-fops.c
parent77a7ae0fbf5bf1a0eaa2d18a31bd0c6ef1913ef8 (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/5883 Tested-by: Gluster Build System <jenkins@build.gluster.com>
Diffstat (limited to 'api/src/glfs-fops.c')
0 files changed, 0 insertions, 0 deletions