SUNRPC: Allow the cache_detail to specify alternative upcall mechanisms
For events that are rare, such as referral DNS lookups, it makes limited sense to have a daemon constantly listening for upcalls on a channel. An alternative in those cases might simply be to run the app that fills the cache using call_usermodehelper_exec() and friends. The following patch allows the cache_detail to specify alternative upcall mechanisms for these particular cases. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
@@ -181,6 +181,11 @@ static void rsi_request(struct cache_detail *cd,
|
||||
(*bpp)[-1] = '\n';
|
||||
}
|
||||
|
||||
static int rsi_upcall(struct cache_detail *cd, struct cache_head *h)
|
||||
{
|
||||
return sunrpc_cache_pipe_upcall(cd, h, rsi_request);
|
||||
}
|
||||
|
||||
|
||||
static int rsi_parse(struct cache_detail *cd,
|
||||
char *mesg, int mlen)
|
||||
@@ -270,7 +275,7 @@ static struct cache_detail rsi_cache = {
|
||||
.hash_table = rsi_table,
|
||||
.name = "auth.rpcsec.init",
|
||||
.cache_put = rsi_put,
|
||||
.cache_request = rsi_request,
|
||||
.cache_upcall = rsi_upcall,
|
||||
.cache_parse = rsi_parse,
|
||||
.match = rsi_match,
|
||||
.init = rsi_init,
|
||||
|
Reference in New Issue
Block a user