#define OBD_FAIL_OBD_LOGD_NET 0x602
#define OBD_FAIL_OBD_QC_CALLBACK_NET 0x603
#define OBD_FAIL_OBD_DQACQ 0x604
+#define OBD_FAIL_OBD_LLOG_SETUP 0x605
#define OBD_FAIL_TGT_REPLY_NET 0x700
#define OBD_FAIL_TGT_CONN_RACE 0x701
ctxt->loc_logops = op;
sema_init(&ctxt->loc_sem, 1);
- if (op->lop_setup)
- rc = op->lop_setup(obd, index, disk_obd, count, logid);
+ if (op->lop_setup) {
+ if (OBD_FAIL_CHECK(OBD_FAIL_OBD_LLOG_SETUP))
+ rc = -EOPNOTSUPP;
+ else
+ rc = op->lop_setup(obd, index, disk_obd, count, logid);
+ }
if (rc) {
llog_ctxt_destroy(ctxt);
}
run_test 61c "test race mds llog sync vs llog cleanup"
+test_61d() { # bug 16002
+#define OBD_FAIL_OBD_LLOG_SETUP 0x605
+ stop mds
+ do_facet mds "lctl set_param fail_loc=0x80000605"
+ start mds $MDSDEV $MDS_MOUNT_OPTS && error "mds start should have failed"
+ do_facet mds "lctl set_param fail_loc=0"
+ start mds $MDSDEV $MDS_MOUNT_OPTS || error "cannot restart mds"
+}
+run_test 61d "error in llog_setup should cleanup the llog context correctly"
+
test_62() { # Bug 15756 - don't mis-drop resent replay
mkdir -p $DIR/$tdir
replay_barrier mds