nfsd: clean up sparse endianness warnings in nfscache.c
We currently hash the XID to determine a hash bucket to use for the reply cache entry, which is fed into hash_32 without byte-swapping it. Add __force to make sparse happy, and add some comments to explain why. Signed-off-by: Jeff Layton <jlayton@primarydata.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
Родитель
f419992c1f
Коммит
b3d8d1284a
|
@ -221,7 +221,12 @@ static void
|
|||
hash_refile(struct svc_cacherep *rp)
|
||||
{
|
||||
hlist_del_init(&rp->c_hash);
|
||||
hlist_add_head(&rp->c_hash, cache_hash + hash_32(rp->c_xid, maskbits));
|
||||
/*
|
||||
* No point in byte swapping c_xid since we're just using it to pick
|
||||
* a hash bucket.
|
||||
*/
|
||||
hlist_add_head(&rp->c_hash, cache_hash +
|
||||
hash_32((__force u32)rp->c_xid, maskbits));
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -356,7 +361,11 @@ nfsd_cache_search(struct svc_rqst *rqstp, __wsum csum)
|
|||
struct hlist_head *rh;
|
||||
unsigned int entries = 0;
|
||||
|
||||
rh = &cache_hash[hash_32(rqstp->rq_xid, maskbits)];
|
||||
/*
|
||||
* No point in byte swapping rq_xid since we're just using it to pick
|
||||
* a hash bucket.
|
||||
*/
|
||||
rh = &cache_hash[hash_32((__force u32)rqstp->rq_xid, maskbits)];
|
||||
hlist_for_each_entry(rp, rh, c_hash) {
|
||||
++entries;
|
||||
if (nfsd_cache_match(rqstp, csum, rp)) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче