xref: /linux/drivers/md/persistent-data/dm-persistent-data-internal.h (revision e5451c8f8330e03ad3cfa16048b4daf961af434f)
1*3241b1d3SJoe Thornber /*
2*3241b1d3SJoe Thornber  * Copyright (C) 2011 Red Hat, Inc.
3*3241b1d3SJoe Thornber  *
4*3241b1d3SJoe Thornber  * This file is released under the GPL.
5*3241b1d3SJoe Thornber  */
6*3241b1d3SJoe Thornber 
7*3241b1d3SJoe Thornber #ifndef _DM_PERSISTENT_DATA_INTERNAL_H
8*3241b1d3SJoe Thornber #define _DM_PERSISTENT_DATA_INTERNAL_H
9*3241b1d3SJoe Thornber 
10*3241b1d3SJoe Thornber #include "dm-block-manager.h"
11*3241b1d3SJoe Thornber 
12*3241b1d3SJoe Thornber static inline unsigned dm_hash_block(dm_block_t b, unsigned hash_mask)
13*3241b1d3SJoe Thornber {
14*3241b1d3SJoe Thornber 	const unsigned BIG_PRIME = 4294967291UL;
15*3241b1d3SJoe Thornber 
16*3241b1d3SJoe Thornber 	return (((unsigned) b) * BIG_PRIME) & hash_mask;
17*3241b1d3SJoe Thornber }
18*3241b1d3SJoe Thornber 
19*3241b1d3SJoe Thornber #endif	/* _PERSISTENT_DATA_INTERNAL_H */
20