mirror of
https://github.com/samba-team/samba.git
synced 2025-02-25 17:57:42 +03:00
idmap_hash: fix comments about the algorithm
Only support ~ 50k users per domain. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15319 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> (cherry picked from commit 0f96c4b419a59ea884e68a460910e5c8a45bfcec)
This commit is contained in:
parent
bac09f85da
commit
1e6eeb8efb
@ -60,13 +60,16 @@ static uint32_t hash_domain_sid(const struct dom_sid *sid)
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
Hash a Relative ID to a 20 bit number
|
||||
Hash a Relative ID to a 19 bit number
|
||||
********************************************************************/
|
||||
|
||||
static uint32_t hash_rid(uint32_t rid)
|
||||
{
|
||||
/* 20 bits for the rid which allows us to support
|
||||
the first 100K users/groups in a domain */
|
||||
/*
|
||||
* 19 bits for the rid which allows us to support
|
||||
* the first 50K users/groups in a domain
|
||||
*
|
||||
*/
|
||||
|
||||
return (rid & 0x0007FFFF);
|
||||
}
|
||||
@ -79,8 +82,13 @@ static uint32_t combine_hashes(uint32_t h_domain,
|
||||
{
|
||||
uint32_t return_id = 0;
|
||||
|
||||
/* shift the hash_domain 19 bits to the left and OR with the
|
||||
hash_rid */
|
||||
/*
|
||||
* shift the hash_domain 19 bits to the left and OR with the
|
||||
* hash_rid
|
||||
*
|
||||
* This will generate a 31 bit number out of
|
||||
* 12 bit domain and 19 bit rid.
|
||||
*/
|
||||
|
||||
return_id = ((h_domain<<19) | h_rid);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user