Lines Matching defs:record
290 "\t\tClear the particular record (if given a numeric ID), or\n"
425 print_data_handler(int id, const char *pool, zinject_record_t *record,
430 if (record->zi_guid != 0 || record->zi_func[0] != '\0' ||
431 record->zi_duration != 0) {
447 if (record->zi_start == 0 && record->zi_end == -1ULL)
451 (u_longlong_t)record->zi_start,
452 (u_longlong_t)record->zi_end);
456 "%6llu %6llu\n", id, pool, (u_longlong_t)record->zi_objset,
457 (u_longlong_t)record->zi_object, type_to_name(record->zi_type),
458 record->zi_level, record->zi_dvas, rangebuf,
459 (u_longlong_t)record->zi_match_count,
460 (u_longlong_t)record->zi_inject_count);
466 print_device_handler(int id, const char *pool, zinject_record_t *record,
471 if (record->zi_guid == 0 || record->zi_func[0] != '\0')
474 if (record->zi_cmd == ZINJECT_DELAY_IO)
490 double freq = record->zi_freq == 0 ? 100.0f :
491 (((double)record->zi_freq) / ZI_PERCENTAGE_MAX) * 100.0f;
494 "%6llu %6llu\n", id, pool, (u_longlong_t)record->zi_guid,
495 iotype_to_str(record->zi_iotype), err_to_str(record->zi_error),
496 freq, (u_longlong_t)record->zi_match_count,
497 (u_longlong_t)record->zi_inject_count);
503 print_delay_handler(int id, const char *pool, zinject_record_t *record,
508 if (record->zi_guid == 0 || record->zi_func[0] != '\0')
511 if (record->zi_cmd != ZINJECT_DELAY_IO)
526 double freq = record->zi_freq == 0 ? 100.0f :
527 (((double)record->zi_freq) / ZI_PERCENTAGE_MAX) * 100.0f;
530 "%6llu %6llu\n", id, pool, (u_longlong_t)record->zi_guid,
531 (u_longlong_t)NSEC2MSEC(record->zi_timer),
532 (u_longlong_t)record->zi_nlanes, freq,
533 (u_longlong_t)record->zi_match_count,
534 (u_longlong_t)record->zi_inject_count);
540 print_panic_handler(int id, const char *pool, zinject_record_t *record,
545 if (record->zi_func[0] == '\0')
555 (void) printf("%3d %-15s %s\n", id, pool, record->zi_func);
561 print_pool_delay_handler(int id, const char *pool, zinject_record_t *record,
566 if (record->zi_cmd != ZINJECT_DELAY_IMPORT &&
567 record->zi_cmd != ZINJECT_DELAY_EXPORT) {
581 id, pool, (u_longlong_t)record->zi_duration,
582 record->zi_cmd == ZINJECT_DELAY_IMPORT ? "import": "export");
630 cancel_one_handler(int id, const char *pool, zinject_record_t *record,
633 (void) pool, (void) record, (void) data;
686 register_handler(const char *pool, int flags, zinject_record_t *record,
692 zc.zc_inject_record = *record;
703 if (record->zi_cmd == ZINJECT_DELAY_IMPORT)
705 if (record->zi_cmd == ZINJECT_DELAY_EXPORT)
710 if (record->zi_cmd == ZINJECT_DELAY_IMPORT)
729 if (record->zi_guid) {
731 (u_longlong_t)record->zi_guid);
732 } else if (record->zi_func[0] != '\0') {
734 record->zi_func);
735 } else if (record->zi_duration > 0) {
737 (u_longlong_t)record->zi_duration);
738 } else if (record->zi_duration < 0) {
740 (u_longlong_t)-record->zi_duration);
741 } else if (record->zi_timer > 0) {
743 (u_longlong_t)NSEC2MSEC(record->zi_timer));
746 (u_longlong_t)record->zi_objset);
748 (u_longlong_t)record->zi_object);
750 (u_longlong_t)record->zi_type);
751 (void) printf(" level: %d\n", record->zi_level);
752 if (record->zi_start == 0 &&
753 record->zi_end == -1ULL)
757 (u_longlong_t)record->zi_start,
758 (u_longlong_t)record->zi_end);
759 (void) printf(" dvas: 0x%x\n", record->zi_dvas);
767 perform_action(const char *pool, zinject_record_t *record, int cmd)
773 zc.zc_guid = record->zi_guid;
902 zinject_record_t record = { 0 };
982 ret = parse_delay(optarg, &record.zi_timer,
983 &record.zi_nlanes);
1006 ret = parse_frequency(optarg, &record.zi_freq);
1017 record.zi_failfast = B_TRUE;
1021 record.zi_duration = (int)strtol(optarg, &end, 10);
1022 if (record.zi_duration <= 0 || *end != '\0') {
1030 record.zi_duration *= -1;
1040 record.zi_duration = 30;
1056 (void) strlcpy(record.zi_func, optarg,
1057 sizeof (record.zi_func));
1058 record.zi_cmd = ZINJECT_PANIC;
1062 record.zi_cmd = ZINJECT_DELAY_IMPORT;
1064 record.zi_cmd = ZINJECT_DELAY_EXPORT;
1082 record.zi_duration = (int)strtol(optarg, &end, 10);
1083 if (record.zi_duration <= 0 || *end != '\0') {
1143 if (record.zi_duration != 0 && record.zi_cmd == 0)
1144 record.zi_cmd = ZINJECT_IGNORED_WRITES;
1151 level != 0 || record.zi_cmd != ZINJECT_UNINITIALIZED ||
1152 record.zi_freq > 0 || dvas != 0) {
1187 level != 0 || record.zi_cmd != ZINJECT_UNINITIALIZED ||
1215 (record.zi_freq == 0 || io_type != ZINJECT_IOTYPE_READ)) {
1222 record.zi_iotype = io_type;
1223 if (translate_device(pool, device, label, &record) != 0) {
1228 if (record.zi_nlanes) {
1247 return (perform_action(pool, &record, action));
1251 record.zi_cmd != ZINJECT_UNINITIALIZED ||
1252 record.zi_freq > 0 || dvas != 0) {
1278 record.zi_cmd = ZINJECT_DATA_FAULT;
1279 if (translate_raw(raw, &record) != 0) {
1285 } else if (record.zi_cmd == ZINJECT_PANIC) {
1287 level != 0 || device != NULL || record.zi_freq > 0 ||
1306 record.zi_type = atoi(argv[1]);
1308 } else if (record.zi_cmd == ZINJECT_DELAY_IMPORT ||
1309 record.zi_cmd == ZINJECT_DELAY_EXPORT) {
1311 level != 0 || device != NULL || record.zi_freq > 0 ||
1320 if (argc != 1 || record.zi_duration <= 0) {
1330 } else if (record.zi_cmd == ZINJECT_IGNORED_WRITES) {
1332 level != 0 || record.zi_freq > 0 || dvas != 0) {
1409 record.zi_dvas = dvas;
1420 record.zi_cmd = ZINJECT_DECRYPT_FAULT;
1428 record.zi_cmd = ZINJECT_DATA_FAULT;
1431 if (translate_record(type, argv[0], range, level, &record, pool,
1457 record.zi_error = error;
1459 ret = register_handler(pool, flags, &record, quiet);