Lines Matching defs:vre

3709 	vdev_raidz_expand_t *vre = spa->spa_raidz_expand;
3715 ASSERT3U(vre->vre_offset_pertxg[txgoff], >=, old_offset);
3717 mutex_enter(&vre->vre_lock);
3719 MIN(vre->vre_offset_pertxg[txgoff], vre->vre_failed_offset);
3723 VERIFY3U(vre->vre_failed_offset, >=, old_offset);
3724 mutex_exit(&vre->vre_lock);
3726 zfs_locked_range_t *lr = zfs_rangelock_enter(&vre->vre_rangelock,
3735 vre->vre_offset_pertxg[txgoff] = 0;
3738 mutex_enter(&vre->vre_lock);
3739 vre->vre_bytes_copied += vre->vre_bytes_copied_pertxg[txgoff];
3740 vre->vre_bytes_copied_pertxg[txgoff] = 0;
3741 mutex_exit(&vre->vre_lock);
3743 vdev_t *vd = vdev_lookup_top(spa, vre->vre_vdev_id);
3746 sizeof (vre->vre_bytes_copied), 1, &vre->vre_bytes_copied, tx));
3753 vdev_raidz_expand_t *vre = spa->spa_raidz_expand;
3754 vdev_t *raidvd = vdev_lookup_top(spa, vre->vre_vdev_id);
3758 VERIFY0(vre->vre_offset_pertxg[i]);
3767 vdev_t *vd = vdev_lookup_top(spa, vre->vre_vdev_id);
3784 vre->vre_end_time = gethrestime_sec();
3785 vre->vre_state = DSS_FINISHED;
3787 uint64_t state = vre->vre_state;
3792 uint64_t end_time = vre->vre_end_time;
3850 vdev_raidz_expand_t *vre = rra->rra_vre;
3854 mutex_enter(&vre->vre_lock);
3857 vre->vre_failed_offset =
3858 MIN(vre->vre_failed_offset, rra->rra_lr->lr_offset);
3860 ASSERT3U(vre->vre_outstanding_bytes, >=, zio->io_size);
3861 vre->vre_outstanding_bytes -= zio->io_size;
3863 vre->vre_failed_offset) {
3864 vre->vre_bytes_copied_pertxg[rra->rra_txg & TXG_MASK] +=
3867 cv_signal(&vre->vre_cv);
3869 mutex_exit(&vre->vre_lock);
3886 vdev_raidz_expand_t *vre = rra->rra_vre;
3908 mutex_enter(&vre->vre_lock);
3910 vre->vre_failed_offset =
3911 MIN(vre->vre_failed_offset, rra->rra_lr->lr_offset);
3912 mutex_exit(&vre->vre_lock);
3923 raidz_reflow_record_progress(vdev_raidz_expand_t *vre, uint64_t offset,
3932 mutex_enter(&vre->vre_lock);
3933 ASSERT3U(vre->vre_offset, <=, offset);
3934 vre->vre_offset = offset;
3935 mutex_exit(&vre->vre_lock);
3937 if (vre->vre_offset_pertxg[txgoff] == 0) {
3941 vre->vre_offset_pertxg[txgoff] = offset;
3956 raidz_reflow_impl(vdev_t *vd, vdev_raidz_expand_t *vre, range_tree_t *rt,
3992 raidz_reflow_record_progress(vre,
4010 rra->rra_vre = vre;
4011 rra->rra_lr = zfs_rangelock_enter(&vre->vre_rangelock,
4018 raidz_reflow_record_progress(vre, offset + size, tx);
4033 mutex_enter(&vre->vre_lock);
4034 vre->vre_failed_offset =
4035 MIN(vre->vre_failed_offset, rra->rra_lr->lr_offset);
4036 cv_signal(&vre->vre_cv);
4037 mutex_exit(&vre->vre_lock);
4046 mutex_enter(&vre->vre_lock);
4047 vre->vre_outstanding_bytes += size;
4048 mutex_exit(&vre->vre_lock);
4131 vdev_raidz_expand_t *vre = arg;
4137 vdev_t *raidvd = vdev_lookup_top(spa, vre->vre_vdev_id);
4155 zfs_locked_range_t *lr = zfs_rangelock_enter(&vre->vre_rangelock,
4369 vre->vre_offset = logical_size;
4374 vre->vre_offset_pertxg[txgoff] = vre->vre_offset;
4375 vre->vre_bytes_copied_pertxg[txgoff] = vre->vre_bytes_copied;
4392 vdev_raidz_expand_t *vre = spa->spa_raidz_expand;
4397 vdev_t *raidvd = vdev_lookup_top(spa, vre->vre_vdev_id);
4468 vre->vre_offset = logical_size;
4469 vre->vre_offset_pertxg[txgoff] = vre->vre_offset;
4470 vre->vre_bytes_copied_pertxg[txgoff] = vre->vre_bytes_copied;
4500 vdev_raidz_expand_t *vre = spa->spa_raidz_expand;
4503 vre->vre_offset = 0;
4505 vre->vre_offset = RRSS_GET_OFFSET(&spa->spa_ubsync);
4508 if (vre->vre_offset == 0) {
4511 vre, 0, ZFS_SPACE_CHECK_NONE));
4514 if (vre->vre_offset == 0) {
4515 mutex_enter(&vre->vre_lock);
4516 vre->vre_waiting_for_resilver = B_TRUE;
4517 mutex_exit(&vre->vre_lock);
4523 vdev_t *raidvd = vdev_lookup_top(spa, vre->vre_vdev_id);
4528 for (uint64_t i = vre->vre_offset >> raidvd->vdev_ms_shift;
4531 vre->vre_failed_offset == UINT64_MAX; i++) {
4584 if (vre->vre_offset > msp->ms_start) {
4586 vre->vre_offset - msp->ms_start);
4591 vre->vre_failed_offset == UINT64_MAX) {
4612 vre->vre_bytes_copied && !zthr_iscancelled(zthr)) {
4616 mutex_enter(&vre->vre_lock);
4617 while (vre->vre_outstanding_bytes >
4619 cv_wait(&vre->vre_cv, &vre->vre_lock);
4621 mutex_exit(&vre->vre_lock);
4634 raidvd = vdev_lookup_top(spa, vre->vre_vdev_id);
4637 raidz_reflow_impl(raidvd, vre, rt, tx);
4656 raidvd = vdev_lookup_top(spa, vre->vre_vdev_id);
4676 vre->vre_offset == raidvd->vdev_ms_count << raidvd->vdev_ms_shift) {
4681 ASSERT3U(vre->vre_failed_offset, ==, UINT64_MAX);
4693 (long long)vre->vre_offset,
4694 (long long)vre->vre_failed_offset);
4695 mutex_enter(&vre->vre_lock);
4696 if (vre->vre_failed_offset != UINT64_MAX) {
4701 vre->vre_offset = vre->vre_failed_offset;
4702 vre->vre_failed_offset = UINT64_MAX;
4703 vre->vre_waiting_for_resilver = B_TRUE;
4705 mutex_exit(&vre->vre_lock);
4723 vdev_raidz_expand_t *vre = spa->spa_raidz_expand;
4728 if (vd->vdev_top->vdev_id == vre->vre_vdev_id &&
4730 mutex_enter(&vre->vre_lock);
4731 if (vre->vre_waiting_for_resilver) {
4734 vre->vre_waiting_for_resilver = B_FALSE;
4737 mutex_exit(&vre->vre_lock);
4870 vdev_raidz_expand_t *vre = spa->spa_raidz_expand;
4872 if (vre == NULL) {
4880 (vre == NULL ||
4882 vre->vre_end_time)) {
4883 vre = &vdrz->vn_vre;
4889 if (vre == NULL) {
4893 pres->pres_state = vre->vre_state;
4894 pres->pres_expanding_vdev = vre->vre_vdev_id;
4896 vdev_t *vd = vdev_lookup_top(spa, vre->vre_vdev_id);
4899 mutex_enter(&vre->vre_lock);
4900 pres->pres_reflowed = vre->vre_bytes_copied;
4902 pres->pres_reflowed += vre->vre_bytes_copied_pertxg[i];
4903 mutex_exit(&vre->vre_lock);
4905 pres->pres_start_time = vre->vre_start_time;
4906 pres->pres_end_time = vre->vre_end_time;
4907 pres->pres_waiting_for_resilver = vre->vre_waiting_for_resilver;