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

mdd had panic on getting version for non existent file.

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • Lustre 2.2.0
    • Lustre 2.1.0
    • None
    • 3
    • 4868

    Description

      Lustre: DEBUG MARKER: == replay-vbr test 1a: open and close do not change versions == 17:09:05 (1315440545)
      LustreError: 30227:0:(mdd_object.c:2427:mdd_version_get()) ASSERTION(mdd_object_exists(mdd_obj)) failed
      LustreError: 30227:0:(mdd_object.c:2427:mdd_version_get()) LBUG
      Pid: 30227, comm: lctl

      Call Trace:
      [<ffffffffa0942857>] libcfs_debug_dumpstack+0x57/0x80 [libcfs]
      [<ffffffffa0942e95>] lbug_with_loc+0x75/0xe0 [libcfs]
      [<ffffffffa094dd06>] libcfs_assertion_failed+0x66/0x70 [libcfs]
      [<ffffffffa0df61da>] mdd_version_get+0x3a/0xa0 [mdd]
      [<ffffffffa0ecc969>] cml_version_get+0x49/0xc0 [cmm]
      [<ffffffffa0e4edd7>] mdt_iocontrol+0x527/0x800 [mdt]
      [<ffffffffa0943983>] ? cfs_alloc+0x63/0x90 [libcfs]
      [<ffffffffa0a21434>] class_handle_ioctl+0x1524/0x2390 [obdclass]
      [<ffffffff81135d69>] ? __do_fault+0x439/0x500
      [<ffffffffa0a0b313>] obd_class_ioctl+0x53/0x240 [obdclass]
      [<ffffffff81180172>] vfs_ioctl+0x22/0xa0
      [<ffffffff81180314>] do_vfs_ioctl+0x84/0x580
      [<ffffffff81136aed>] ? handle_mm_fault+0x1ed/0x2b0
      [<ffffffff81180891>] sys_ioctl+0x81/0xa0
      [<ffffffff81013172>] system_call_fastpath+0x16/0x1b

      >>
      rc = mdt_object_exists(obj);
      if (rc < 0)

      { rc = -EREMOTE; /** * before calling version get the correct MDS should be * fid, this is error to find remote object here */ CERROR("nonlocal object "DFID"\n", PFID(fid)); }

      else

      { version = mo_version_get(mti->mti_env, mdt_object_child(obj)); *(__u64 *)data->ioc_inlbuf2 = version; rc = 0; }

      >>
      so if lfs ... getfidversion called for non existent fid -mdt_object_exists return a 0, and mdd had assert hit.
      question - why path2fid returned invalid fid, outside scope of that ticket.

      i will attach fix tomorrow.

      Attachments

        Issue Links

          Activity

            People

              wc-triage WC Triage
              shadow Alexey Lyashkov
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: