staging: lustre: issue in the offset in lnet match hash table
the offset in hash table is overflowed for no wildcard portal. The offset for no wildcard has been corrected as for wildcard in the LU-1622 Signed-off-by: Alyona Romanenko <alyona.romanenko@seagate.com> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-7774 Reviewed-on: http://review.whamcloud.com/18422 Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com> Reviewed-by: James Simmons <uja.ornl@yahoo.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
15dd253667
commit
5412d816da
|
@ -360,16 +360,15 @@ lnet_mt_match_head(struct lnet_match_table *mtable,
|
|||
lnet_process_id_t id, __u64 mbits)
|
||||
{
|
||||
struct lnet_portal *ptl = the_lnet.ln_portals[mtable->mt_portal];
|
||||
unsigned long hash = mbits;
|
||||
|
||||
if (lnet_ptl_is_wildcard(ptl)) {
|
||||
return &mtable->mt_mhash[mbits & LNET_MT_HASH_MASK];
|
||||
} else {
|
||||
unsigned long hash = mbits + id.nid + id.pid;
|
||||
if (!lnet_ptl_is_wildcard(ptl)) {
|
||||
hash += id.nid + id.pid;
|
||||
|
||||
LASSERT(lnet_ptl_is_unique(ptl));
|
||||
hash = hash_long(hash, LNET_MT_HASH_BITS);
|
||||
return &mtable->mt_mhash[hash];
|
||||
}
|
||||
return &mtable->mt_mhash[hash & LNET_MT_HASH_MASK];
|
||||
}
|
||||
|
||||
int
|
||||
|
|
Loading…
Reference in New Issue