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
- is related to
-
LU-1518 Missing/bad operations in mdd_{obf,dot_lustre}_obj_op causing LBUGs
- Resolved