summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/afr/src/afr-transaction.h
diff options
context:
space:
mode:
authorBrian Foster <bfoster@redhat.com>2012-12-03 10:45:04 -0500
committerVijay Bellur <vbellur@redhat.com>2012-12-17 02:14:09 -0500
commit3e255fb10f404dbc0d3add7164c95b0721231312 (patch)
tree05cab19d68a5a4c8f191132f62d17a71ec68affa /xlators/cluster/afr/src/afr-transaction.h
parentdd40167771daa5436d016ec4084d4ae0de62b00a (diff)
afr: use data trylock mode in read/write self-heal trigger paths
Self-heal data lock contention between clients and glustershd instances can lead to long wait and user response times if the client ends up pending its lock on glustershd self-heal of a large file. We have reports of guest vm instances going completely unresponsive during self-heal of virtual disk images. Optimize the read/write self-heal trigger codepath (i.e., afr_open_fd_fix()) to trylock for self-heal and skip the self-heal otherwise to minimize the likelihood of a running/active guest of competing with glustershd on arrival of a brick. Note that lock contention is still possible from the client (e.g., via lookup). BUG: 874045 Change-Id: I077e2c0aaa424b80734a471284173bda8871cdc3 Signed-off-by: Brian Foster <bfoster@redhat.com> Reviewed-on: https://code.engineering.redhat.com/gerrit/1911 Reviewed-by: Vijay Bellur <vbellur@redhat.com> Tested-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'xlators/cluster/afr/src/afr-transaction.h')
0 files changed, 0 insertions, 0 deletions