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

Oops in lod_dir_striping_create_internal()

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • Minor
    • None
    • Lustre 2.6.0
    • 3
    • 14841

    Description

      In lod_ah_init() if OBD_ALLOC_PTR(lc->ldo_dir_stripe) fails then we may oops later in lod_dir_striping_create_internal(). The deference is

             if (!LMVEA_DELETE_VALUES(lo->ldo_stripenr,
                                       lo->ldo_dir_stripe_offset)) {
      

      Recall that ldo_dir_stripe_offset is #defined to be ldo_dir_stripe->ldsi_stripe_offset.

      [  259.141386] IP: [<ffffffffa0d62743>] lod_dir_striping_create_internal+0x113/0x18d0 [lod]
      [  259.141386] PGD 0 
      [  259.141386] Oops: 0000 [#1] SMP 
      [  259.141386] last sysfs file: /sys/devices/system/cpu/online
      [  259.141386] CPU 6 
      [  259.141386] Modules linked in: lustre(U) ofd(U) osp(U) lod(U) ost(U) mdt(U) mdd(U) mgs(U) nodemap(U) osd_ldiskfs(U) ldiskfs(U) exportfs lquota(U) lfsck(U) jbd obdecho(U) mgc(U) lov(U) osc(U) mdc(U) lmv(U) fid(U) fld(U) ptlrpc(U) obdclass(U) ksocklnd(U) lnet(U) sha512_generic sha256_generic libcfs(U) autofs4 nfs lockd fscache auth_rpcgss nfs_acl sunrpc ipv6 microcode virtio_balloon virtio_net i2c_piix4 i2c_core ext4 jbd2 mbcache virtio_blk virtio_pci virtio_ring virtio pata_acpi ata_generic ata_piix dm_mirror dm_region_hash dm_log dm_mod [last unloaded: speedstep_lib]
      [  259.141386] 
      [  259.141386] Pid: 3393, comm: mdt01_003 Not tainted 2.6.32-431.5.1.el6.lustre.x86_64 #1 Bochs Bochs
      [  259.141386] RIP: 0010:[<ffffffffa0d62743>]  [<ffffffffa0d62743>] lod_dir_striping_create_internal+0x113/0x18d0 [lod]
      [  259.141386] RSP: 0000:ffff8801fb1d78a0  EFLAGS: 00010246
      [  259.141386] RAX: 0000000000000000 RBX: ffff8801e8ee9258 RCX: 0000000000000000
      [  259.141386] RDX: 0000000000000000 RSI: ffffffffa0d6f620 RDI: ffff8802189addf8
      [  259.141386] RBP: ffff8801fb1d79a0 R08: ffff8801ef0fcc50 R09: 0000000000000000
      [  259.141386] R10: ffff8801ec2af2f0 R11: 0600000000000000 R12: ffff8801fd639ae8
      [  259.141386] R13: ffff8801ef0fcc50 R14: ffff8802189addf8 R15: 0000000000000000
      [  259.141386] FS:  0000000000000000(0000) GS:ffff880030400000(0000) knlGS:0000000000000000
      [  259.141386] CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
      [  259.141386] CR2: 0000000000000000 CR3: 0000000001a85000 CR4: 00000000000006e0
      [  259.141386] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [  259.141386] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      [  259.141386] Process mdt01_003 (pid: 3393, threadinfo ffff8801fb1d6000, task ffff8801fb1d48c0)
      [  259.141386] Stack:
      [  259.141386]  ffff8801fb1d7910 ffffffffa0457e8b ffff8801fb1d7910 ffff880218641818
      [  259.141386] <d> ffffc90006053050 ffffc90006033000 ffffc90006033000 ffff8801000001da
      [  259.141386] <d> ffff8802189addf8 ffff8801ec2af2f0 ffff8801f7f9bce8 ffff8801e9c38610
      [  259.141386] Call Trace:
      [  259.141386]  [<ffffffffa0457e8b>] ? lu_object_put+0x12b/0x330 [obdclass]
      [  259.141386]  [<ffffffffa0d4a70a>] ? lod_load_striping_locked+0x23a/0x5d0 [lod]
      [  259.141386]  [<ffffffffa0d644fa>] lod_xattr_set+0x26a/0x380 [lod]
      [  259.141386]  [<ffffffffa0d555c4>] ? lod_index_insert+0x44/0xe0 [lod]
      [  259.141386]  [<ffffffffa04758be>] ? lu_ucred_check+0xe/0x30 [obdclass]
      [  259.141386]  [<ffffffffa0454738>] ? lu_env_refill+0x28/0x30 [obdclass]
      [  259.141386]  [<ffffffffa08049b0>] mdo_xattr_set.clone.6+0x40/0xc0 [mdd]
      [  259.141386]  [<ffffffffa080931b>] mdd_object_create+0x4ab/0x810 [mdd]
      [  259.141386]  [<ffffffffa080b10c>] mdd_create+0xe3c/0x1870 [mdd]
      [  259.141386]  [<ffffffffa0c0c8cd>] ? osd_attr_get+0x13d/0x180 [osd_ldiskfs]
      [  259.141386]  [<ffffffffa0cb5877>] mdt_reint_create+0xbf7/0xd40 [mdt]
      [  259.141386]  [<ffffffffa0c93fd5>] ? mdt_ucred+0x15/0x20 [mdt]
      [  259.141386]  [<ffffffffa0cac76c>] ? mdt_root_squash+0x2c/0x3f0 [mdt]
      [  259.141386]  [<ffffffffa06b4266>] ? __req_capsule_get+0x166/0x6e0 [ptlrpc]
      [  259.141386]  [<ffffffffa068e01e>] ? lustre_pack_reply_flags+0xae/0x1f0 [ptlrpc]
      [  259.141386]  [<ffffffffa0cb0601>] mdt_reint_rec+0x41/0xe0 [mdt]
      [  259.141386]  [<ffffffffa0c9b9d3>] mdt_reint_internal+0x4c3/0x7c0 [mdt]
      [  259.141386]  [<ffffffffa0c9c25b>] mdt_reint+0x6b/0x120 [mdt]
      [  259.141386]  [<ffffffffa06ebc55>] tgt_request_handle+0x245/0xad0 [ptlrpc]
      [  259.141386]  [<ffffffffa069ee21>] ptlrpc_main+0xcf1/0x1880 [ptlrpc]
      [  259.141386]  [<ffffffffa069e130>] ? ptlrpc_main+0x0/0x1880 [ptlrpc]
      [  259.141386]  [<ffffffff8109eab6>] kthread+0x96/0xa0
      [  259.141386]  [<ffffffff8100c30a>] child_rip+0xa/0x20
      [  259.141386]  [<ffffffff81554710>] ? _spin_unlock_irq+0x30/0x40
      [  259.141386]  [<ffffffff8100bb10>] ? restore_args+0x0/0x30
      [  259.141386]  [<ffffffff8109ea20>] ? kthread+0x0/0xa0
      [  259.141386]  [<ffffffff8100c300>] ? child_rip+0x0/0x20
      [  259.210640] Code: a4 08 00 00 48 c7 05 19 f3 01 00 00 00 00 00 c7 05 07 f3 01 00 01 00 00 00 e8 8a ce 56 ff 0f b7 53 40 66 85 d2 75 0d 48 8b 43 70 <83> 38 ff 0f 84 3d 01 00 00 41 83 7c 24 08 2f 49 8b 34 24 77 74 
      [  259.210640] RIP  [<ffffffffa0d62743>] lod_dir_striping_create_internal+0x113/0x18d0 [lod]
      [  259.210640]  RSP <ffff8801fb1d78a0>
      [  259.210640] CR2: 0000000000000000
      

      This was found by memory allocation fault injection. There was also some discussion about removing ldo_dir_stripe.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: