Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
b=1451
[fs/lustre-release.git]
/
lustre
/
ptlrpc
/
service.c
diff --git
a/lustre/ptlrpc/service.c
b/lustre/ptlrpc/service.c
index
d8271f2
..
36bed9b
100644
(file)
--- a/
lustre/ptlrpc/service.c
+++ b/
lustre/ptlrpc/service.c
@@
-357,6
+357,7
@@
ptlrpc_server_free_request(struct ptlrpc_service *svc, struct ptlrpc_request *re
static int
ptlrpc_server_handle_request (struct ptlrpc_service *svc)
{
static int
ptlrpc_server_handle_request (struct ptlrpc_service *svc)
{
+ struct obd_export *export = NULL;
struct ptlrpc_request *request;
unsigned long flags;
struct timeval work_start;
struct ptlrpc_request *request;
unsigned long flags;
struct timeval work_start;
@@
-440,7
+441,8
@@
ptlrpc_server_handle_request (struct ptlrpc_service *svc)
request->rq_export->exp_conn_cnt);
goto put_conn;
}
request->rq_export->exp_conn_cnt);
goto put_conn;
}
-
+
+ export = class_export_rpc_get(request->rq_export);
request->rq_export->exp_last_request_time =
LTIME_S(CURRENT_TIME);
}
request->rq_export->exp_last_request_time =
LTIME_S(CURRENT_TIME);
}
@@
-468,6
+470,9
@@
ptlrpc_server_handle_request (struct ptlrpc_service *svc)
ptlrpc_peernid2str(&request->rq_peer, str),
request->rq_reqmsg->opc);
ptlrpc_peernid2str(&request->rq_peer, str),
request->rq_reqmsg->opc);
+ if (export != NULL)
+ class_export_rpc_put(export);
+
put_conn:
if (request->rq_export != NULL)
class_export_put(request->rq_export);
put_conn:
if (request->rq_export != NULL)
class_export_put(request->rq_export);