Details
-
Bug
-
Resolution: Fixed
-
Minor
-
Lustre 2.7.0
-
3
-
15927
Description
Fault injection shows several instances where we ignore errors from declarations:
lctl set_param fail_err=-14 lctl set_param fail_val=1000 lctl set_param fail_loc=0x0800200d # OBD_FAIL_DT_DECLARE_DESTROY Message from syslogd@t at Sep 30 10:43:10 ... kernel:[ 141.688631] LustreError: 13800:0:(osd_internal.h:991:osd_trans_exec_op()) ASSERTION( oti->oti_declare_ops_rb[rb] > 0 ) failed: rb = 3 Message from syslogd@t at Sep 30 10:43:10 ... kernel:[ 141.690531] LustreError: 13800:0:(osd_internal.h:991:osd_trans_exec_op()) LBUG crash> bt PID: 13800 TASK: ffff8800d6346580 CPU: 0 COMMAND: "ll_ost00_005" #0 [ffff8800d92c7908] machine_kexec at ffffffff81039950 #1 [ffff8800d92c7968] crash_kexec at ffffffff810d4372 #2 [ffff8800d92c7a38] panic at ffffffff81550d83 #3 [ffff8800d92c7ab8] lbug_with_loc at ffffffffa02bef1b [libcfs] #4 [ffff8800d92c7ad8] osd_trans_exec_op at ffffffffa0af196b [osd_ldiskfs] #5 [ffff8800d92c7af8] osd_object_destroy at ffffffffa0af9702 [osd_ldiskfs] #6 [ffff8800d92c7b58] ofd_object_destroy at ffffffffa0ddd17c [ofd] #7 [ffff8800d92c7ba8] ofd_destroy_by_fid at ffffffffa0dd838d [ofd] #8 [ffff8800d92c7ca8] ofd_destroy_hdl at ffffffffa0dd1c6a [ofd] #9 [ffff8800d92c7d18] tgt_request_handle at ffffffffa06e71be [ptlrpc] #10 [ffff8800d92c7d78] ptlrpc_main at ffffffffa0697e47 [ptlrpc] #11 [ffff8800d92c7eb8] kthread at ffffffff8109eab6 #12 [ffff8800d92c7f48] kernel_thread at ffffffff8100c30a
# git grep '^[[:space:]]*dt_declare' lustre/lod/lod_object.c: dt_declare_xattr_del(env, next, XATTR_NAME_LOV, h\ andle); lustre/lod/lod_object.c: dt_declare_xattr_set(env, next, buf, XATTR_NAME_L\ OV, lustre/obdclass/llog_osd.c: dt_declare_ref_del(env, o, th); lustre/obdclass/local_storage.c: dt_declare_ref_add(env, dto, th); lustre/obdclass/local_storage.c: dt_declare_ref_add(env, parent, th); lustre/ofd/ofd_objects.c: dt_declare_ref_del(env, ofd_object_child(fo), th); lustre/ofd/ofd_objects.c: dt_declare_destroy(env, ofd_object_child(fo), th);