X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fptlrpc%2Fimport.c;h=737a86aa0105dbc181f0498a02c7160d1e220bdb;hp=25978724348edef4ff9ee3223ec1cb1ab9fd831a;hb=60b3f96ff1fb98d056fe4bc5c1abf402fbda46ef;hpb=8d7b52b382c608ef456c61274d1e7564b42ca092 diff --git a/lustre/ptlrpc/import.c b/lustre/ptlrpc/import.c index 2597872..737a86a 100644 --- a/lustre/ptlrpc/import.c +++ b/lustre/ptlrpc/import.c @@ -1021,8 +1021,12 @@ int ptlrpc_disconnect_import(struct obd_import *imp, int noclose) { struct ptlrpc_request *req; int rq_opc, rc = 0; + int nowait = imp->imp_obd->obd_force; ENTRY; + if (nowait) + GOTO(set_state, rc); + switch (imp->imp_connect_op) { case OST_CONNECT: rq_opc = OST_DISCONNECT; break; case MDS_CONNECT: rq_opc = MDS_DISCONNECT; break; @@ -1074,6 +1078,7 @@ int ptlrpc_disconnect_import(struct obd_import *imp, int noclose) ptlrpc_req_finished(req); } +set_state: spin_lock(&imp->imp_lock); out: if (noclose)