Lines Matching full:eip
834 zei_shrink_ranges(zfs_ecksum_info_t *eip)
837 uint32_t new_allowed_gap = eip->zei_mingap + 1;
840 size_t max = eip->zei_range_count;
842 struct zei_ranges *r = eip->zei_ranges;
844 ASSERT3U(eip->zei_range_count, >, 0);
845 ASSERT3U(eip->zei_range_count, <=, MAX_RANGES);
871 ASSERT3U(output, <, eip->zei_range_count);
872 eip->zei_range_count = output;
873 eip->zei_mingap = mingap;
874 eip->zei_allowed_mingap = new_allowed_gap;
878 zei_add_range(zfs_ecksum_info_t *eip, int start, int end)
880 struct zei_ranges *r = eip->zei_ranges;
881 size_t count = eip->zei_range_count;
884 zei_shrink_ranges(eip);
885 count = eip->zei_range_count;
888 eip->zei_mingap = UINT32_MAX;
889 eip->zei_allowed_mingap = 1;
893 if (gap < eip->zei_allowed_mingap) {
897 if (gap < eip->zei_mingap)
898 eip->zei_mingap = gap;
902 eip->zei_range_count++;
906 zei_range_total_size(zfs_ecksum_info_t *eip)
908 struct zei_ranges *r = eip->zei_ranges;
909 size_t count = eip->zei_range_count;
937 zfs_ecksum_info_t *eip = kmem_zalloc(sizeof (*eip), KM_SLEEP);
941 return (eip);
959 return (eip);
975 zei_add_range(eip, start, idx);
985 zei_add_range(eip, start, idx);
988 inline_size = zei_range_total_size(eip);
997 kmem_free(eip, sizeof (*eip));
1008 for (range = 0; range < eip->zei_range_count; range++) {
1009 size_t start = eip->zei_ranges[range].zr_start;
1010 size_t end = eip->zei_ranges[range].zr_end;
1022 eip->zei_bits_set[offset] = set;
1023 eip->zei_bits_cleared[offset] = cleared;
1027 update_bad_bits(set, &eip->zei_range_sets[range]);
1028 update_bad_bits(cleared, &eip->zei_range_clears[range]);
1032 eip->zei_ranges[range].zr_start *= sizeof (uint64_t);
1033 eip->zei_ranges[range].zr_end *= sizeof (uint64_t);
1039 eip->zei_allowed_mingap *= sizeof (uint64_t);
1045 DATA_TYPE_UINT32_ARRAY, 2 * eip->zei_range_count,
1046 (uint32_t *)eip->zei_ranges,
1048 DATA_TYPE_UINT32, eip->zei_allowed_mingap,
1050 DATA_TYPE_UINT32_ARRAY, eip->zei_range_count, eip->zei_range_sets,
1052 DATA_TYPE_UINT32_ARRAY, eip->zei_range_count, eip->zei_range_clears,
1059 inline_size, (uint8_t *)eip->zei_bits_set,
1062 inline_size, (uint8_t *)eip->zei_bits_cleared,
1065 return (eip);