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

check return code in mdc_enqueue_fini() prior mdc_fill_lvb() call

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.16.0
    • None
    • None
    • 3
    • 9223372036854775807

    Description

      Issue may occur with DoM files and between old server (prior 2.14) and new client. If mdc_enqueue_interpret() called from failed RPC processing with return code then mdc_enqueue_fini() calls mdc_fill_lvb() without check that rc >= 0 and assert is triggered like in calltrace below:

      [35945.837773] LustreError: 1183270:0:(layout.c:2171:__req_capsule_get()) ASSERTION( msg != ((void *)0) ) failed: 
      [35945.839817] LustreError: 1183270:0:(layout.c:2171:__req_capsule_get()) LBUG
      [35945.839946] Lustre: lustre-MDT0000-mdc-ffff9566b57ce000: Connection restored to  (at 10.240.24.151@tcp)
      [35945.841173] Pid: 1183270, comm: ptlrpcd_00_00 4.18.0-425.19.2.el8_7.x86_64 #1 SMP Tue Apr 4 22:38:11 UTC 2023
      [35945.842969] Lustre: Skipped 1 previous similar message
      [35945.844849] Call Trace TBD:
      [35945.844995] [<0>] libcfs_call_trace+0x6f/0xa0 [libcfs]
      [35945.847559] [<0>] lbug_with_loc+0x3f/0x70 [libcfs]
      [35945.848538] [<0>] __req_capsule_get+0x6a0/0x770 [ptlrpc]
      [35945.849943] [<0>] mdc_fill_lvb+0x15/0x100 [mdc]
      [35945.850930] [<0>] mdc_enqueue_fini+0x7f/0x340 [mdc]
      [35945.851925] [<0>] mdc_enqueue_interpret+0x134/0x2a0 [mdc]
      [35945.853017] [<0>] ptlrpc_check_set+0x52e/0x2080 [ptlrpc]

      Attachments

        Activity

          People

            tappro Mikhail Pershin
            tappro Mikhail Pershin
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: