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

lod_ah_init()) ASSERTION( lc->ldo_stripenr == 0 ) failed

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Minor
    • None
    • Lustre 2.6.0
    • 3
    • 14912

    Description

      If mdd_create_data() fails after calling mdd_object_make_hint() then the lod object will have ldo_stripenr set. A second call to mdd_create_data() will then trigger the failed assertion in lod_ah_init().

      This was found by memory allocation fault injection.

      llmount.sh
      cd /mnt/lustre
      sys_mknod f0
      echo /root/lustre-release/lustre/osd-ldiskfs/osd_handler.c:945 > /proc/fs/lustre/alloc_fail # fail to allocate the transaction in osd_trans_create()
      sys_open f0 w # open("f0", O_WRONLY)
      sys_open f0 w # open("f0", O_WRONLY)
      
      [  338.633638] LustreError: 5233:0:(lod_object.c:2606:lod_ah_init()) ASSERTION( lc->ldo_stripenr == 0 ) failed:
      [  338.635476] LustreError: 5233:0:(lod_object.c:2606:lod_ah_init()) LBUG
      [  338.636652] Pid: 5233, comm: mdt00_005
      [  338.637354]
      [  338.637355] Call Trace:
      [  338.638094]  [<ffffffffa02be8c5>] libcfs_debug_dumpstack+0x55/0x80 [libcfs]
      [  338.639359]  [<ffffffffa02beec7>] lbug_with_loc+0x47/0xb0 [libcfs]
      [  338.640490]  [<ffffffffa0d5e43c>] lod_ah_init+0xadc/0xb40 [lod]
      [  338.641591]  [<ffffffffa0817339>] mdd_object_make_hint+0x139/0x180 [mdd]
      [  338.642804]  [<ffffffffa08062a9>] mdd_create_data+0x359/0x7f0 [mdd]
      [  338.644047]  [<ffffffffa0cc67dd>] mdt_mfd_open+0xc1d/0xf40 [mdt]
      [  338.645182]  [<ffffffffa0cc6d00>] mdt_finish_open+0x200/0xc50 [mdt]
      [  338.646351]  [<ffffffffa0cc1255>] ? mdt_object_open_lock+0x345/0x9d0 [mdt]
      [  338.647603]  [<ffffffffa0cc7cce>] mdt_open_by_fid_lock+0x57e/0x900 [mdt]
      [  338.648821]  [<ffffffffa0cc8c28>] mdt_reint_open+0x8c8/0x20b0 [mdt]
      [  338.649974]  [<ffffffff815547cb>] ? _spin_unlock+0x2b/0x40
      [  338.650985]  [<ffffffffa02dc60c>] ? upcall_cache_get_entry+0x3dc/0x8a0 [libcfs]
      [  338.652347]  [<ffffffffa0475890>] ? lu_ucred+0x20/0x30 [obdclass]
      [  338.653490]  [<ffffffffa0c93b85>] ? mdt_ucred+0x15/0x20 [mdt]
      [  338.654580]  [<ffffffffa0cac90c>] ? mdt_root_squash+0x2c/0x3f0 [mdt]
      [  338.655786]  [<ffffffffa06b4236>] ? __req_capsule_get+0x166/0x6e0 [ptlrpc]
      [  338.657037]  [<ffffffffa0cb07a1>] mdt_reint_rec+0x41/0xe0 [mdt]
      [  338.658132]  [<ffffffffa0c9baf3>] mdt_reint_internal+0x4c3/0x7c0 [mdt]
      [  338.659314]  [<ffffffffa0c9bfe6>] mdt_intent_reint+0x1f6/0x520 [mdt]
      [  338.660473]  [<ffffffffa0c9a6c9>] mdt_intent_policy+0x499/0xca0 [mdt]
      [  338.661691]  [<ffffffffa0645422>] ldlm_lock_enqueue+0x302/0x920 [ptlrpc]
      [  338.662931]  [<ffffffffa066d651>] ldlm_handle_enqueue0+0x341/0x11e0 [ptlrpc]
      [  338.664249]  [<ffffffffa06ec9a2>] tgt_enqueue+0x62/0x1d0 [ptlrpc]
      [  338.665403]  [<ffffffffa06ebc35>] tgt_request_handle+0x245/0xad0 [ptlrpc]
      [  338.666663]  [<ffffffffa069ed91>] ptlrpc_main+0xcf1/0x1880 [ptlrpc]
      [  338.667841]  [<ffffffffa069e0a0>] ? ptlrpc_main+0x0/0x1880 [ptlrpc]
      [  338.668982]  [<ffffffff8109eab6>] kthread+0x96/0xa0
      [  338.669902]  [<ffffffff8100c30a>] child_rip+0xa/0x20
      [  338.670806]  [<ffffffff81554710>] ? _spin_unlock_irq+0x30/0x40
      [  338.671868]  [<ffffffff8100bb10>] ? restore_args+0x0/0x30
      [  338.672848]  [<ffffffff8109ea20>] ? kthread+0x0/0xa0
      [  338.673761]  [<ffffffff8100c300>] ? child_rip+0x0/0x20
      [  338.674690]
      

      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: