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

Object reference is not zero when umounting OST

Details

    • Bug
    • Resolution: Fixed
    • Major
    • Lustre 2.8.0
    • Lustre 2.7.0
    • 3
    • 9223372036854775807

    Description

      I was testing btrfs-osd. I ran obdfilter-survey on a small OST, and soon failure shew up because space was exausted. After obdfilter-survey finished, I umount OST and got following LASSERT error:

      [ 2007.468973] LustreError: 31356:0:(ofd_dev.c:2924:ofd_fini()) ASSERTION( atomic_read(&d->ld_ref) == 0 ) failed:
      [ 2007.475908] LustreError: 31356:0:(ofd_dev.c:2924:ofd_fini()) LBUG
      [ 2007.480099] Pid: 31356, comm: umount
      [ 2007.482557] \x0aCall Trace:
      [ 2007.485274] [<ffffffffa0719843>] libcfs_debug_dumpstack+0x53/0x80 [libcfs]
      [ 2007.490070] [<ffffffffa0719de5>] lbug_with_loc+0x45/0xc0 [libcfs]
      [ 2007.494304] [<ffffffffa0fe0f33>] ofd_device_fini+0x2a3/0x2b0 [ofd]
      [ 2007.498650] [<ffffffffa082ce4f>] class_cleanup+0x8df/0xcb0 [obdclass]
      [ 2007.503167] [<ffffffffa082f754>] class_process_config+0x1e14/0x2f70 [obdclass]
      [ 2007.508208] [<ffffffff811a8c43>] ? __kmalloc+0x1f3/0x230
      [ 2007.511947] [<ffffffffa08284ea>] ? lustre_cfg_new+0x8a/0x570 [obdclass]
      [ 2007.516580] [<ffffffffa083206f>] class_manual_cleanup+0xef/0x810 [obdclass]
      [ 2007.521451] [<ffffffffa0866a3b>] server_put_super+0x94b/0xd70 [obdclass]
      [ 2007.526132] [<ffffffff811c5116>] generic_shutdown_super+0x56/0xe0
      [ 2007.530381] [<ffffffff811c5382>] kill_anon_super+0x12/0x20
      [ 2007.534226] [<ffffffffa0833172>] lustre_kill_super+0x32/0x50 [obdclass]
      [ 2007.538850] [<ffffffff811c572d>] deactivate_locked_super+0x3d/0x60
      [ 2007.543154] [<ffffffff811c5d36>] deactivate_super+0x46/0x60
      [ 2007.547071] [<ffffffff811e2a75>] mntput_no_expire+0xc5/0x120
      [ 2007.551018] [<ffffffff811e3baf>] SyS_umount+0x9f/0x3c0
      [ 2007.554633] [<ffffffff8160d469>] system_call_fastpath+0x16/0x1b

      I thought it was a problem of btrfs-osd. But it turned out that ofd_preprw_write() might leak reference of objects. I will push a patch soon.

      Attachments

        Issue Links

          Activity

            [LU-6434] Object reference is not zero when umounting OST
            pjones Peter Jones made changes -
            Link New: This issue is related to LU-8302 [ LU-8302 ]
            pjones Peter Jones made changes -
            Link Original: This issue is related to LDEV-123 [ LDEV-123 ]
            pjones Peter Jones made changes -
            Link New: This issue is related to LDEV-124 [ LDEV-124 ]
            pjones Peter Jones made changes -
            Link Original: This issue is related to LDEV-44 [ LDEV-44 ]
            pjones Peter Jones made changes -
            Link New: This issue is related to LDEV-45 [ LDEV-45 ]
            pjones Peter Jones made changes -
            Link Original: This issue is related to LDEV-36 [ LDEV-36 ]
            jgmitter Joseph Gmitter (Inactive) made changes -
            Remote Link New: This issue links to "Page (HPDD Community Wiki)" [ 15045 ]
            pjones Peter Jones made changes -
            Link Original: This issue is related to LDEV-18 [ LDEV-18 ]
            pjones Peter Jones made changes -
            Link New: This issue is related to LDEV-19 [ LDEV-19 ]
            pjones Peter Jones made changes -
            Fix Version/s New: Lustre 2.8.0 [ 11113 ]

            People

              ys Yang Sheng
              lixi Li Xi (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: