Details
-
Bug
-
Resolution: Fixed
-
Minor
-
Upstream
-
None
-
3
-
9223372036854775807
Description
osp_sync_declare_add() panics if llog isn't ready yet (e.g. because of OI scrub in the middle of fixing llog objects):
[ 5325.840390] LustreError: 27380:0:(osp_sync.c:283:osp_sync_declare_add()) ASSERTION( ctxt ) failed: [ 5325.850491] LustreError: 27380:0:(osp_sync.c:283:osp_sync_declare_add()) LBUG [ 5325.858448] Pid: 27380, comm: tgt_recov [ 5325.858449] Call Trace: [ 5325.858468] [<ffffffffc09c480e>] libcfs_call_trace+0x4e/0x60 [libcfs] [ 5325.858473] [<ffffffffc09c4dcc>] lbug_with_loc+0x4c/0xc0 [libcfs] [ 5325.858487] [<ffffffffc139fd74>] osp_sync_declare_add+0x374/0x3b0 [osp] [ 5325.858493] [<ffffffffc138cc03>] osp_declare_object_destroy+0x103/0x150 [osp] [ 5325.858505] [<ffffffffc12e44c9>] lod_declare_object_destroy+0x309/0x870 [lod] [ 5325.858519] [<ffffffffc133b789>] mdd_declare_finish_unlink+0xb9/0x1e0 [mdd] [ 5325.858525] [<ffffffffc134274c>] mdd_unlink+0x48c/0xa90 [mdd] [ 5325.858542] [<ffffffffc1236556>] mdo_unlink+0x46/0x48 [mdt] [ 5325.858551] [<ffffffffc11ffcf5>] mdt_reint_unlink+0xa85/0x11d0 [mdt] [ 5325.858560] [<ffffffffc12038a3>] mdt_reint_rec+0x83/0x210 [mdt] [ 5325.858567] [<ffffffffc11e3d09>] mdt_reint_internal+0x5d9/0xb30 [mdt] [ 5325.858575] [<ffffffffc11eedb7>] mdt_reint+0x67/0x140 [mdt] [ 5325.858630] [<ffffffffc0e734f0>] tgt_request_handle+0x900/0x11f0 [ptlrpc] [ 5325.858672] [<ffffffffc0dc2c4d>] handle_recovery_req+0x8d/0x270 [ptlrpc] [ 5325.858689] [<ffffffffc0dc5d6a>] target_recovery_thread+0x7ba/0x1c50 [ptlrpc] [ 5325.858710] [<ffffffff810b4031>] kthread+0xd1/0xe0
Instead OSP should skip new llog record and make some noise in the kernel log.