On 05/24/2012 04:56 PM, Christoph Hellwig wrote: > On Thu, May 24, 2012 at 04:55:05PM +0800, levin li wrote: >> On 05/24/2012 04:51 PM, Christoph Hellwig wrote: >>>> +++ b/include/sheep.h >>>> @@ -155,9 +155,9 @@ struct sd_node { >>>> }; >>>> >>>> struct sd_vnode { >>>> - uint64_t id; >>>> uint8_t addr[16]; >>>> uint16_t port; >>>> + uint64_t id; >>>> uint16_t node_idx; >>>> uint32_t zone; >>>> }; >>> >>> Why do you need to change the sd_vnode layout? Especially as the new >>> one has a much less efficient layout. >>> >> >> We make it has the same layout as sd_node which set addr and port in the >> head, then we can use node_cmp to compare sd_node and sd_vnode. > > Bad idea - assuming different types have the same layout just leads to > future bugs. Please just write different compare functions for the > node and vnode. > Well.. OK, I'd implement another compare function. thanks, levin |