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

osd_index_declare_ea_delete() doesn't declare enough credits

    XMLWordPrintable

Details

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

    Description

      Recent tests found a lot of crashes. And this appears to be caused by patch "LU-5794 osd: additional checks to verify credits calculation". After reverting this patch, the crash problem is gone. Please note that in our tests, two MDTs are used.

      [ 385.741095] Lustre: DEBUG MARKER: /usr/sbin/lctl mark == sanity test 1: mkdir\; remkdir\; rmdir ============================================================== 17:48:00 (1477561680)
      [ 386.499078] Lustre: DEBUG MARKER: == sanity test 1: mkdir; remkdir; rmdir ============================================================== 17:48:00 (1477561680)
      [ 386.708274] Lustre: ctl-lustre-MDT0000: super-sequence allocation rc = 0 [0x00000002c0000400-0x0000000300000400):1:mdt
      [ 387.050260] Lustre: 11548:0:(osd_internal.h:1126:osd_trans_exec_check()) op 9: used 8, used now 8, reserved 5
      [ 387.052734] Lustre: 11548:0:(osd_handler.c:1075:osd_trans_dump_creds()) create: 0/0/0, destroy: 0/0/0
      [ 387.055614] Lustre: 11548:0:(osd_handler.c:1082:osd_trans_dump_creds()) attr_set: 2/2/0, xattr_set: 1/64/0
      [ 387.061137] Lustre: 11548:0:(osd_handler.c:1092:osd_trans_dump_creds()) write: 1/2/0, punch: 0/0/0, quota 2/2/0
      [ 387.066357] Lustre: 11548:0:(osd_handler.c:1099:osd_trans_dump_creds()) insert: 0/0/0, delete: 1/5/8
      [ 387.069620] Lustre: 11548:0:(osd_handler.c:1106:osd_trans_dump_creds()) ref_add: 0/0/0, ref_del: 2/2/0
      [ 387.074975] LustreError: 11548:0:(osd_internal.h:1129:osd_trans_exec_check()) LBUG
      [ 387.078786] Pid: 11548, comm: mdt_out00_001
      [ 387.081078]
      Call Trace:
      [ 387.083786] [<ffffffffa060a853>] libcfs_debug_dumpstack+0x53/0x80 [libcfs]
      [ 387.086689] [<ffffffffa060adf5>] lbug_with_loc+0x45/0xc0 [libcfs]
      [ 387.089846] [<ffffffffa0f5c1f5>] osd_attr_get.part.99+0x0/0x3b [osd_ldiskfs]
      [ 387.093859] [<ffffffffa0f2bd5f>] osd_index_ea_delete+0x81f/0xcf0 [osd_ldiskfs]
      [ 387.102088] [<ffffffffa0a31e34>] out_obj_index_delete+0x114/0x2f0 [ptlrpc]
      [ 387.109871] [<ffffffffa0a32035>] out_tx_index_delete_exec+0x25/0x180 [ptlrpc]
      [ 387.117879] [<ffffffffa0a34a5e>] out_tx_end+0xde/0x5b0 [ptlrpc]
      [ 387.122590] [<ffffffffa0a377cc>] out_handle+0x76c/0xf70 [ptlrpc]
      [ 387.125190] [<ffffffffa0a2ba4b>] tgt_request_handle+0x8fb/0x11f0 [ptlrpc]
      [ 387.129137] [<ffffffffa09cfb0b>] ptlrpc_server_handle_request+0x21b/0xa90 [ptlrpc]
      [ 387.140821] [<ffffffffa09d3430>] ptlrpc_main+0xc00/0x1f60 [ptlrpc]
      [ 387.146677] [<ffffffff810a5b8f>] kthread+0xcf/0xe0
      

      osd_index_declare_ea_delete() doesn't declare credits for the case when ".." is removed - we need to update an additional local representative.

      Attachments

        Activity

          People

            bzzz Alex Zhuravlev
            bzzz Alex Zhuravlev
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: