knfsd: allow cache_register to return error on failure
Newer server features such as nfsv4 and gss depend on proc to work, so a failure to initialize the proc files they need should be treated as fatal. Thanks to Andrew Morton for style fix and compile fix in case where CONFIG_NFSD_V4 is undefined. Cc: Andrew Morton <akpm@linux-foundation.org> Acked-by: NeilBrown <neilb@suse.de> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
This commit is contained in:
@@ -1386,10 +1386,19 @@ int
|
||||
gss_svc_init(void)
|
||||
{
|
||||
int rv = svc_auth_register(RPC_AUTH_GSS, &svcauthops_gss);
|
||||
if (rv == 0) {
|
||||
cache_register(&rsc_cache);
|
||||
cache_register(&rsi_cache);
|
||||
}
|
||||
if (rv)
|
||||
return rv;
|
||||
rv = cache_register(&rsc_cache);
|
||||
if (rv)
|
||||
goto out1;
|
||||
rv = cache_register(&rsi_cache);
|
||||
if (rv)
|
||||
goto out2;
|
||||
return 0;
|
||||
out2:
|
||||
cache_unregister(&rsc_cache);
|
||||
out1:
|
||||
svc_auth_unregister(RPC_AUTH_GSS);
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user