md: add support for simultaneous disk failure on the same node

Don't panic out, instead we simply remove this disk for this nested disk
failures.

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
tests/055: test simultaneous multiple disk failures on the same node

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
net: enlarge connect_to_addr() scope

This is a prepare patch.

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
md: add hot-plug and hot-unplug support

We allow group plug, group unplug and disks failure during (un)plugging.

Also add disk information function for collie.

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
collie: add new commands to manipulate multi-disks

Three command added:
 $ collie node md info # show information about md of {this node, all nodes}
 $ collie node md plug path1,{path2,...} # plug disk(s) into node
 $ collie node md unplug path1,{path2,...} # unplug disk(s) into node

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
sheep: remove duplicate recovery complete notification

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
tsets: add 057 to test md hot-plug and hot-unplug

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
sheep: teach journal file to be md friendly

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
tests/047: add md test support

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
sheep: teach journal file to handle epoch and config write

journal_write_epoch and journal_write_confi is a placeholder for future use.

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
sheep: use new journal API for config file

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
sheep: rename journal_file.c as journal.c

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
sheep: journaling epoch file write

Also bundle two writes into one.

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
sheep: handle broken epoch file at get_latest_epoch

Without journaling enabled, we might have empty epoch file or
partial write file.

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
journal: suppress compile errors

Let's keep the devel branch build ready.

Signed-off-by: Hitoshi Mitake <mitake.hitoshi@lab.ntt.co.jp>
Signed-off-by: Liu Yuan <tailai.ly@taobao.com>