提交 cd6b328c 编写于 作者: B Bruno Faccini 提交者: Greg Kroah-Hartman

staging/lustre/mdc: Keep resend FLocks

FLocks requests (particulary F_UNLCKs) can't be trashed
upon comm problems with Server/MDS nor upon kill/exit,
thus we need to keep retry/send.

Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-2665
Lustre-change: http://review.whamcloud.com/6415Signed-off-by: NBruno Faccini <bruno.faccini@intel.com>
Reviewed-by: NBobi Jam <bobijam@gmail.com>
Reviewed-by: NOleg Drokin <oleg.drokin@intel.com>
Signed-off-by: NPeng Tao <tao.peng@emc.com>
Signed-off-by: NAndreas Dilger <andreas.dilger@intel.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 70b749d4
...@@ -823,7 +823,13 @@ int mdc_enqueue(struct obd_export *exp, struct ldlm_enqueue_info *einfo, ...@@ -823,7 +823,13 @@ int mdc_enqueue(struct obd_export *exp, struct ldlm_enqueue_info *einfo,
/* For flock requests we immediatelly return without further /* For flock requests we immediatelly return without further
delay and let caller deal with the rest, since rest of delay and let caller deal with the rest, since rest of
this function metadata processing makes no sense for flock this function metadata processing makes no sense for flock
requests anyway */ requests anyway. But in case of problem during comms with
Server (ETIMEDOUT) or any signal/kill attempt (EINTR), we
can not rely on caller and this mainly for F_UNLCKs
(explicits or automatically generated by Kernel to clean
current FLocks upon exit) that can't be trashed */
if ((rc == -EINTR) || (rc == -ETIMEDOUT))
goto resend;
RETURN(rc); RETURN(rc);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册