Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-5368

errors in/from ldlm_run_ast_work() ignored

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Minor
    • None
    • None
    • 3
    • 14972

    Description

      In ldlm_run_ast_work() errors from ptlrpc_set_wait() are not returned to the caller. In ldlm_process_inodebits_lock() error returns (other than -ERESTART) from ldlm_run_ast_work() are ignored.

      Oleg and I discussed this a bit:

      [14:20:47] John Hammond: In ldlm_run_ast_work() we ignore errors from ptlrpc. Is this intentional, unintentional, or other?
      [14:21:32] John Hammond: Also the callers of ldlm_run_ast_work() often do not propagate its errors.
      [14:21:46] Oleg Drokin: the idea is that we cannot do anything about it.
      [14:21:53] Oleg Drokin: there was some patch somewhere t od oresends
      [14:22:06] John Hammond: Yes. Looking at that now.
      [14:22:20] John Hammond: You mean http://review.whamcloud.com/#/c/9335/ right?
      [14:22:45] Oleg Drokin: yes, that would be part of this
      [14:24:59] John Hammond: My thought was: If there is an error in ptlrpc then currently the handler just gets stuck in ldlm_completion_ast(). Wouldn't it be better to return an error back to the client in this situation?
      [14:48:33] Oleg Drokin: it gets stuck?
      [14:49:31] John Hammond: Sure. Waiting for the lock to be granted.
      [14:53:07] Oleg Drokin: we probably should just call failed_ast on the spot for that particular lock to evict entire client. returning an error does not tell us much because there might be more than one lock blocking granting ofthis one and such

      Attachments

        Issue Links

          Activity

            People

              wc-triage WC Triage
              jhammond John Hammond
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated: