290cc55a28
uint32_t namei_hash(const char *p, const char **ep) which determines the equivalent MI hash32_str() hash for p. If *ep != NULL, calculate the hash to the character before ep. If *ep == NULL, calculate the has to the first / or NUL found, and point *ep to that location. - Use namei_hash() to calculate cn_hash in lookup() and relookup(). Hash distribution goes from 35-40% to 55-70%, with similar profiled time spent in cache_lookup() and cache_enter() on my P3-600. - Use namei_hash() to calculate cn_hash in nfs_readdirplusrpc(), insetad of homegrown code (that differed from that in lookup() !) namei_hash() has better spread and is faster than previous code (which used a non-constant multiplication).