• Sven Eckelmann's avatar
    Staging: batman-adv: Rewrite hash using hlist_* · bd204952
    Sven Eckelmann authored
    The hash implementation is a complete implementation of a hash using
    buckets as hash entries and overflow buckets attached to them.
    
    The kernel already provides datastructures hlist_head and hlist_node
    which can be used to implement an hash using lists as hash buckets. So
    it is better to implement heavily used functionality on top of those
    instead of providing a full hash implementation.
    
    The rewrite changes the behavior of some functions slightly:
     * hash_add add elements to the front instead of the tail
     * hash_iterate doesn't provide pointer to access bucket->data directly,
       but it can be accessed using hlist_entry
    Reported-by: default avatarDavid S. Miller <davem@davemloft.net>
    Signed-off-by: default avatarSven Eckelmann <sven.eckelmann@gmx.de>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    bd204952
TODO 316 Bytes