Hello, Sasha. On Fri, Aug 24, 2012 at 10:11:55PM +0200, Sasha Levin wrote: > > If this implementation is about the common trivial case, why not just > > have the usual DECLARE/DEFINE_HASHTABLE() combination? > > When we add the dynamic non-resizable support, how would DEFINE_HASHTABLE() look? Hmmm? DECLARE/DEFINE are usually for static ones. > > I don't know. If we stick to the static (or even !resize dymaic) > > straight-forward hash - and we need something like that - I don't see > > what the full encapsulation buys us other than a lot of trivial > > wrappers. > > Which macros do you consider as trivial within the current API? > > Basically this entire thing could be reduced to DEFINE/DECLARE_HASHTABLE and > get_bucket(), but it would make the life of anyone who wants a slightly > different hashtable a hell. Wouldn't the following be enough to get most of the benefits? * DECLARE/DEFINE * hash_head() * hash_for_each_head() * hash_add*() * hash_for_each_possible*() > I think that right now the only real trivial wrapper is hash_hashed(), and I > think it's a price worth paying to have a single hashtable API instead of > fragmenting it when more implementations come along. I'm not objecting strongly against full encapsulation but having this many thin wrappers makes me scratch my head. Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html