+ struct cache_req *reqp)
+{
+ struct svc_expkey *ek = exp_find_key(clp, fsid_type, fsidv, reqp);
+ if (ek && !IS_ERR(ek)) {
+ struct svc_export *exp = ek->ek_export;
+ int err;
+ exp_get(exp);
+ expkey_put(&ek->h, &svc_expkey_cache);
+ if ((err = cache_check(&svc_export_cache, &exp->h, reqp)))
+ exp = ERR_PTR(err);
+ return exp;
+ } else
+ return ERR_PTR(PTR_ERR(ek));
+}