[sheepdog] [PATCH 00/11] fix the problems caused by our thread model
MORITA Kazutaka
morita.kazutaka at lab.ntt.co.jp
Tue Apr 16 09:24:28 CEST 2013
This series makes sheep assert when it runs in the inappropriate
thread, and fixes problems detected by the assertion.
The first 3 patches are preparation and trivial fixes. The next 5
ones fix problems that we are accessing thread unsafe variables
outside the main thread. The last 3 ones fix exec_req() in the
main thread.
MORITA Kazutaka (11):
sheep: add helper functions to check the current thread
sheep: fix comment of put_vnode_info
sheep/recovery: guard next_rw with RCU
sheep: introduce helpers to handle thread-unsafe variables
sheep: define some thread unsafe variables as thread_unsafe
sheep: set vnode_info even against force operation
sheep: don't call get_vnode_info in epoch_log_read_remote()
work: don't call get_node_info in the worker thread
sheep: assert when exec_req are called in the main thread
sheep: allow process_work to set response data when SD_FLAG_CMD_WRITE
is not set
sheep: fix dead lock problem of cluster_force_recover
collie/cluster.c | 13 ++++--
include/util.h | 8 ++++
sheep/group.c | 122 ++++++++++++++++++++++++++++++---------------------
sheep/ops.c | 72 +++++++++++++++++++++++-------
sheep/recovery.c | 64 ++++++++++++++-------------
sheep/request.c | 10 ++---
sheep/sheep_priv.h | 36 ++++++++++++---
sheep/sockfd_cache.c | 2 +
sheep/work.c | 22 +++++-----
sheep/work.h | 1 +
10 files changed, 227 insertions(+), 123 deletions(-)
--
1.8.1.3.566.gaa39828
More information about the sheepdog
mailing list