[sheepdog] RFC: update protocol version or redesign struct sd_node
Hitoshi Mitake
mitake.hitoshi at gmail.com
Tue Jan 14 04:00:33 CET 2014
The commit 9ea90be39e9d (sheep: use rbtree to manage struct sd_node)
changes struct sd_node. So the master branch isn't compatible with
v0.7.x because it affects the format of GET_NODE_LIST's returned
buffer. Every dog command which has a flag CMD_NEED_NODELIST cannot
work (users see nodes have IPv6 addresses).
The affection is very serious so I propose either of the below two
changes:
1. change protocol version and forbid communication between 0.7.x dog
and the latest sheep
2. change struct sd_node and exclude struct rb_node rb; from the
members
I think 2 would be a better option. sd_node is a data structure which
can be exchanged via network and such a data structure shouldn't have
pointers as its members. Current sd_node is really ugly.
I'd like to hear other developers' opinions.
Thanks,
Hitoshi
More information about the sheepdog
mailing list