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

mdd_declare_object_initialize() ignores errors from mdo_declare_ref_add()

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.7.0
    • Lustre 2.7.0
    • 3
    • 15051

    Description

      In mdd_declare_object_initialize() we ignore the return status of mdo_declare_ref_add(). Hence if the second function fails then we will be missing some transaction credits.

      [  130.235601] LustreError: 9035:0:(osd_internal.h:989:osd_trans_exec_op()) ASSERTION( ot\
      i->oti_declare_ops_rb[rb] > 0 ) failed: rb = 6
      [  130.237596] LustreError: 9035:0:(osd_internal.h:989:osd_trans_exec_op()) LBUG
      [  130.238800] Pid: 9035, comm: mdt00_007
      [  130.239433]
      [  130.239434] Call Trace:
      [  130.240088]  [<ffffffffa02be8c5>] libcfs_debug_dumpstack+0x55/0x80 [libcfs]
      [  130.241221]  [<ffffffffa02beec7>] lbug_with_loc+0x47/0xb0 [libcfs]
      [  130.242247]  [<ffffffffa0af6a7b>] osd_trans_exec_op+0x2ab/0x2e0 [osd_ldiskfs]
      [  130.243391]  [<ffffffffa0afb2d4>] osd_object_ref_add+0x104/0x2a0 [osd_ldiskfs]
      [  130.244543]  [<ffffffffa0d16fa4>] lod_ref_add+0x94/0x140 [lod]
      [  130.245482]  [<ffffffffa0bd6905>] mdo_ref_add+0x35/0xc0 [mdd]
      [  130.246404]  [<ffffffffa0bd6d8e>] __mdd_index_insert+0x14e/0x160 [mdd]
      [  130.247452]  [<ffffffffa0be1ee3>] mdd_create+0xfd3/0x1890 [mdd]
      [  130.248412]  [<ffffffffa0c4b6a7>] mdt_reint_create+0xbf7/0xd40 [mdt]
      [  130.249428]  [<ffffffffa0c27c85>] ? mdt_ucred+0x15/0x20 [mdt]
      [  130.250368]  [<ffffffffa0c4250c>] ? mdt_root_squash+0x2c/0x3f0 [mdt]
      [  130.251435]  [<ffffffffa06b6856>] ? __req_capsule_get+0x166/0x6e0 [ptlrpc]
      [  130.252564]  [<ffffffffa068fa6e>] ? lustre_pack_reply_flags+0xae/0x1f0 [ptlrpc]
      [  130.253730]  [<ffffffffa0c463a1>] mdt_reint_rec+0x41/0xe0 [mdt]
      [  130.254703]  [<ffffffffa0c2bc63>] mdt_reint_internal+0x4c3/0x7c0 [mdt]
      [  130.255767]  [<ffffffffa0c2c4eb>] mdt_reint+0x6b/0x120 [mdt]
      [  130.256729]  [<ffffffffa06f03e5>] tgt_request_handle+0x245/0xad0 [ptlrpc]
      [  130.257853]  [<ffffffffa06a0e01>] ptlrpc_main+0xce1/0x1960 [ptlrpc]
      [  130.258894]  [<ffffffffa06a0120>] ? ptlrpc_main+0x0/0x1960 [ptlrpc]
      [  130.259903]  [<ffffffff8109eab6>] kthread+0x96/0xa0
      [  130.260691]  [<ffffffff8100c30a>] child_rip+0xa/0x20
      [  130.261488]  [<ffffffff81554710>] ? _spin_unlock_irq+0x30/0x40
      [  130.262430]  [<ffffffff8100bb10>] ? restore_args+0x0/0x30
      [  130.263297]  [<ffffffff8109ea20>] ? kthread+0x0/0xa0
      [  130.264085]  [<ffffffff8100c300>] ? child_rip+0x0/0x20
      [  130.264905]
      

      This was found through DT API fault injection.

      Attachments

        Issue Links

          Activity

            People

              jhammond John Hammond
              jhammond John Hammond
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: