Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-1532 only allow FID_SEQ_NORMAL from clients
  3. LU-1552

opening lost+found: triggers (mdt_open.c:784:mdt_finish_open()) ASSERTION( ma->ma_valid & MA_INODE ) failed:

    XMLWordPrintable

Details

    • Technical task
    • Resolution: Fixed
    • Minor
    • None
    • Lustre 2.3.0
    • [root]# cat /proc/fs/lustre/version
      lustre: 2.2.57
      kernel: patchless_client
      build: 2.2.57-ge827449-CHANGED-2.6.32-220.23.1.el6.l2.2.55
    • 7794

    Description

      Opening .lustre/fid/[0x200000001:0xd:0x0]/lost+found triggers an unchecked error in mdt_reint_open() which causes a failed assertion in mdt_finish_open().

      [root]# sys_stat .lustre/fid/[0xb:0x0:0x0]
      cannot stat `.lustre/fid/[0xb:0x0:0x0]': No such file or directory
      [root]# sys_open .lustre/fid/[0xb:0x0:0x0] r
      cannot open `.lustre/fid/[0xb:0x0:0x0]' with flags 0, mode 0666: No such file or directory
      [root]# sys_stat .lustre/fid/[0x200000001:0xd:0x0]/lost+found
      cannot stat `.lustre/fid/[0x200000001:0xd:0x0]/lost+found': No such file or directory
      [root]# sys_open .lustre/fid/[0x200000001:0xd:0x0]/lost+found r
      

      In mdt_reint_open(), the call to mdo_lookup() is succeeding, but mo_attr_get() is failing with -ENOENT. (The return of mdd_la_get() becomes the return of mo_attr_get() here.) However the return of mo_attr_get() is only tested against -EREMOTE. Since mo_attr_get() failed, it did not set MA_INODE in ma_valid.

      LustreError: 30584:0:(mdd_object.c:83:mdd_la_get()) (null): object [0xb:0x0:0x0] not found: rc = -2
      LustreError: 30584:0:(mdt_open.c:784:mdt_finish_open()) ASSERTION( ma->ma_valid & MA_INODE ) failed: 
      LustreError: 30584:0:(mdt_open.c:784:mdt_finish_open()) LBUG
      Pid: 30584, comm: mdt_01
      
      Call Trace:
       [<ffffffffa0308905>] libcfs_debug_dumpstack+0x55/0x80 [libcfs]
       [<ffffffffa0308f17>] lbug_with_loc+0x47/0xb0 [libcfs]
       [<ffffffffa0a64b15>] mdt_finish_open+0x12f5/0x1790 [mdt]
       [<ffffffffa0a6701b>] mdt_reint_open+0xc0b/0x1950 [mdt]
       [<ffffffffa0a351a5>] ? mdt_ucred+0x15/0x20 [mdt]
       [<ffffffffa0a50b51>] mdt_reint_rec+0x41/0xe0 [mdt]
       [<ffffffffa0a4a3aa>] mdt_reint_internal+0x50a/0x810 [mdt]
       [<ffffffffa0a4a97d>] mdt_intent_reint+0x1ed/0x500 [mdt]
       [<ffffffffa0a46cc1>] mdt_intent_policy+0x371/0x6a0 [mdt]
       [<ffffffffa05bc841>] ldlm_lock_enqueue+0x361/0x8f0 [ptlrpc]
       [<ffffffffa05e420a>] ldlm_handle_enqueue0+0x48a/0xf40 [ptlrpc]
       [<ffffffffa0a46866>] mdt_enqueue+0x46/0x130 [mdt]
       [<ffffffffa0a3c2a2>] mdt_handle_common+0x922/0x1740 [mdt]
       [<ffffffffa0a3d195>] mdt_regular_handle+0x15/0x20 [mdt]
       [<ffffffffa06128a2>] ptlrpc_server_handle_request+0x412/0xeb0 [ptlrpc]
       [<ffffffffa030965e>] ? cfs_timer_arm+0xe/0x10 [libcfs]
       [<ffffffffa0319daf>] ? lc_watchdog_touch+0x6f/0x180 [libcfs]
       [<ffffffffa060b6d2>] ? ptlrpc_wait_event+0xb2/0x2c0 [ptlrpc]
       [<ffffffff81051ba3>] ? __wake_up+0x53/0x70
       [<ffffffffa0613b17>] ptlrpc_main+0x7d7/0x1610 [ptlrpc]
       [<ffffffffa0613340>] ? ptlrpc_main+0x0/0x1610 [ptlrpc]
       [<ffffffff8100c14a>] child_rip+0xa/0x20
       [<ffffffffa0613340>] ? ptlrpc_main+0x0/0x1610 [ptlrpc]
       [<ffffffffa0613340>] ? ptlrpc_main+0x0/0x1610 [ptlrpc]
       [<ffffffff8100c140>] ? child_rip+0x0/0x20
      

      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: