mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-20 05:31:15 +00:00
[PATCH] knfsd: Convert sunrpc_cache to use krefs
.. it makes some of the code nicer. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
ebd0cb1af3
commit
baab935ff3
8 changed files with 72 additions and 84 deletions
|
@ -84,15 +84,15 @@ struct ip_map {
|
|||
};
|
||||
static struct cache_head *ip_table[IP_HASHMAX];
|
||||
|
||||
static void ip_map_put(struct cache_head *item, struct cache_detail *cd)
|
||||
static void ip_map_put(struct kref *kref)
|
||||
{
|
||||
struct cache_head *item = container_of(kref, struct cache_head, ref);
|
||||
struct ip_map *im = container_of(item, struct ip_map,h);
|
||||
if (cache_put(item, cd)) {
|
||||
if (test_bit(CACHE_VALID, &item->flags) &&
|
||||
!test_bit(CACHE_NEGATIVE, &item->flags))
|
||||
auth_domain_put(&im->m_client->h);
|
||||
kfree(im);
|
||||
}
|
||||
|
||||
if (test_bit(CACHE_VALID, &item->flags) &&
|
||||
!test_bit(CACHE_NEGATIVE, &item->flags))
|
||||
auth_domain_put(&im->m_client->h);
|
||||
kfree(im);
|
||||
}
|
||||
|
||||
#if IP_HASHBITS == 8
|
||||
|
@ -315,7 +315,7 @@ static int ip_map_update(struct ip_map *ipm, struct unix_domain *udom, time_t ex
|
|||
hash_ip((unsigned long)ipm->m_addr.s_addr));
|
||||
if (!ch)
|
||||
return -ENOMEM;
|
||||
ip_map_put(ch, &ip_map_cache);
|
||||
cache_put(ch, &ip_map_cache);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -369,7 +369,7 @@ struct auth_domain *auth_unix_lookup(struct in_addr addr)
|
|||
rv = &ipm->m_client->h;
|
||||
kref_get(&rv->ref);
|
||||
}
|
||||
ip_map_put(&ipm->h, &ip_map_cache);
|
||||
cache_put(&ipm->h, &ip_map_cache);
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
@ -403,7 +403,7 @@ svcauth_unix_set_client(struct svc_rqst *rqstp)
|
|||
case 0:
|
||||
rqstp->rq_client = &ipm->m_client->h;
|
||||
kref_get(&rqstp->rq_client->ref);
|
||||
ip_map_put(&ipm->h, &ip_map_cache);
|
||||
cache_put(&ipm->h, &ip_map_cache);
|
||||
break;
|
||||
}
|
||||
return SVC_OK;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue