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
            ys Yang Sheng added a comment -

            Patch landed. Close this ticket.

            ys Yang Sheng added a comment - Patch landed. Close this ticket.

            Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/14370/
            Subject: LU-6434 ofd: object reference leaks in ofd_preprw_write
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 559e182da8ca764cefffca05c06731e543129fd6

            gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/14370/ Subject: LU-6434 ofd: object reference leaks in ofd_preprw_write Project: fs/lustre-release Branch: master Current Patch Set: Commit: 559e182da8ca764cefffca05c06731e543129fd6

            Li Xi (lixi@ddn.com) uploaded a new patch: http://review.whamcloud.com/14370
            Subject: LU-6434 ofd: object reference leaks in ofd_preprw_write
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 31002ca9c8c9f95e9173d17581dd47643d0abc79

            gerrit Gerrit Updater added a comment - Li Xi (lixi@ddn.com) uploaded a new patch: http://review.whamcloud.com/14370 Subject: LU-6434 ofd: object reference leaks in ofd_preprw_write Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 31002ca9c8c9f95e9173d17581dd47643d0abc79

            People

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

              Dates

                Created:
                Updated:
                Resolved: