accessing freed resource.
int sptlrpc_import_check_ctx(struct obd_import *imp);
void sptlrpc_import_flush_root_ctx(struct obd_import *imp);
void sptlrpc_import_flush_my_ctx(struct obd_import *imp);
+void sptlrpc_import_flush_all_ctx(struct obd_import *imp);
int sptlrpc_req_get_ctx(struct ptlrpc_request *req);
void sptlrpc_req_put_ctx(struct ptlrpc_request *req);
int sptlrpc_req_refresh_ctx(struct ptlrpc_request *req, long timeout);
atomic_read(&imp->imp_inflight));
obd_import_event(imp->imp_obd, imp, IMP_EVENT_INVALIDATE);
+ sptlrpc_import_flush_all_ctx(imp);
}
/* unset imp_invalid */
}
EXPORT_SYMBOL(sptlrpc_import_flush_my_ctx);
+void sptlrpc_import_flush_all_ctx(struct obd_import *imp)
+{
+ if (imp == NULL || imp->imp_sec == NULL)
+ return;
+
+ ctx_cache_flush(imp->imp_sec, -1, 0, 1);
+}
+EXPORT_SYMBOL(sptlrpc_import_flush_all_ctx);
+
int sptlrpc_cli_install_rvs_ctx(struct obd_import *imp,
struct ptlrpc_cli_ctx *ctx)
{
svc->srv_n_active_reqs);
}
+ /* go through security check/transform */
+ request->rq_auth_uid = INVALID_UID;
+ request->rq_auth_mapped_uid = INVALID_UID;
+
rc = sptlrpc_svc_unwrap_request(request);
switch (rc) {
case SECSVC_OK: