This patch set introduce a new cluster status into sheepdog, which is supposed to prevent sheepdog from serving IO when lack of redundant nodes. This patch set is based on the Kazutaka's 'remove xattr' patch set. Changes from v2 to v3 are: - add a new flag field in struct cluster_info and NOHALT uses one bit of it. - use hdr.flags to set the nohalt option in collie. - add a new epoch_log_read_nr() to return # of the entries instead of bytes. Changes from v1 to v2 are: - refactor's get_cluster_status() to prepare the code for change. - address Kazutaka's comments. - make cluster 'halt' optionally. Liu Yuan (6): sheep: add a helper epoch_log_read_nr() sheep: refactor get_cluster_status() sheep: remove wrong 'unknown message' in the log sheep: introduce SD_STATUS_HALT sheep: add a helper function to get nr_zones sheep: use SD_STATUS_HALT to stop serving IO collie/cluster.c | 14 +++- collie/collie.c | 1 + include/sheep.h | 9 +- include/sheepdog_proto.h | 1 + sheep/group.c | 228 +++++++++++++++++++++++++++++----------------- sheep/sheep_priv.h | 7 ++ sheep/store.c | 9 ++ 7 files changed, 179 insertions(+), 90 deletions(-) Thanks, Yuan |