Lines Matching refs:vre

3709 	vdev_raidz_expand_t *vre = spa->spa_raidz_expand;  in raidz_reflow_sync()  local
3715 ASSERT3U(vre->vre_offset_pertxg[txgoff], >=, old_offset); in raidz_reflow_sync()
3717 mutex_enter(&vre->vre_lock); in raidz_reflow_sync()
3719 MIN(vre->vre_offset_pertxg[txgoff], vre->vre_failed_offset); in raidz_reflow_sync()
3723 VERIFY3U(vre->vre_failed_offset, >=, old_offset); in raidz_reflow_sync()
3724 mutex_exit(&vre->vre_lock); in raidz_reflow_sync()
3726 zfs_locked_range_t *lr = zfs_rangelock_enter(&vre->vre_rangelock, in raidz_reflow_sync()
3735 vre->vre_offset_pertxg[txgoff] = 0; in raidz_reflow_sync()
3738 mutex_enter(&vre->vre_lock); in raidz_reflow_sync()
3739 vre->vre_bytes_copied += vre->vre_bytes_copied_pertxg[txgoff]; in raidz_reflow_sync()
3740 vre->vre_bytes_copied_pertxg[txgoff] = 0; in raidz_reflow_sync()
3741 mutex_exit(&vre->vre_lock); in raidz_reflow_sync()
3743 vdev_t *vd = vdev_lookup_top(spa, vre->vre_vdev_id); in raidz_reflow_sync()
3746 sizeof (vre->vre_bytes_copied), 1, &vre->vre_bytes_copied, tx)); in raidz_reflow_sync()
3753 vdev_raidz_expand_t *vre = spa->spa_raidz_expand; in raidz_reflow_complete_sync() local
3754 vdev_t *raidvd = vdev_lookup_top(spa, vre->vre_vdev_id); in raidz_reflow_complete_sync()
3758 VERIFY0(vre->vre_offset_pertxg[i]); in raidz_reflow_complete_sync()
3767 vdev_t *vd = vdev_lookup_top(spa, vre->vre_vdev_id); in raidz_reflow_complete_sync()
3784 vre->vre_end_time = gethrestime_sec(); in raidz_reflow_complete_sync()
3785 vre->vre_state = DSS_FINISHED; in raidz_reflow_complete_sync()
3787 uint64_t state = vre->vre_state; in raidz_reflow_complete_sync()
3792 uint64_t end_time = vre->vre_end_time; in raidz_reflow_complete_sync()
3850 vdev_raidz_expand_t *vre = rra->rra_vre; in raidz_reflow_write_done() local
3854 mutex_enter(&vre->vre_lock); in raidz_reflow_write_done()
3857 vre->vre_failed_offset = in raidz_reflow_write_done()
3858 MIN(vre->vre_failed_offset, rra->rra_lr->lr_offset); in raidz_reflow_write_done()
3860 ASSERT3U(vre->vre_outstanding_bytes, >=, zio->io_size); in raidz_reflow_write_done()
3861 vre->vre_outstanding_bytes -= zio->io_size; in raidz_reflow_write_done()
3863 vre->vre_failed_offset) { in raidz_reflow_write_done()
3864 vre->vre_bytes_copied_pertxg[rra->rra_txg & TXG_MASK] += in raidz_reflow_write_done()
3867 cv_signal(&vre->vre_cv); in raidz_reflow_write_done()
3869 mutex_exit(&vre->vre_lock); in raidz_reflow_write_done()
3886 vdev_raidz_expand_t *vre = rra->rra_vre; in raidz_reflow_read_done() local
3908 mutex_enter(&vre->vre_lock); in raidz_reflow_read_done()
3910 vre->vre_failed_offset = in raidz_reflow_read_done()
3911 MIN(vre->vre_failed_offset, rra->rra_lr->lr_offset); in raidz_reflow_read_done()
3912 mutex_exit(&vre->vre_lock); in raidz_reflow_read_done()
3923 raidz_reflow_record_progress(vdev_raidz_expand_t *vre, uint64_t offset, in raidz_reflow_record_progress() argument
3932 mutex_enter(&vre->vre_lock); in raidz_reflow_record_progress()
3933 ASSERT3U(vre->vre_offset, <=, offset); in raidz_reflow_record_progress()
3934 vre->vre_offset = offset; in raidz_reflow_record_progress()
3935 mutex_exit(&vre->vre_lock); in raidz_reflow_record_progress()
3937 if (vre->vre_offset_pertxg[txgoff] == 0) { in raidz_reflow_record_progress()
3941 vre->vre_offset_pertxg[txgoff] = offset; in raidz_reflow_record_progress()
3956 raidz_reflow_impl(vdev_t *vd, vdev_raidz_expand_t *vre, zfs_range_tree_t *rt, in raidz_reflow_impl() argument
3992 raidz_reflow_record_progress(vre, in raidz_reflow_impl()
4010 rra->rra_vre = vre; in raidz_reflow_impl()
4011 rra->rra_lr = zfs_rangelock_enter(&vre->vre_rangelock, in raidz_reflow_impl()
4018 raidz_reflow_record_progress(vre, offset + size, tx); in raidz_reflow_impl()
4033 mutex_enter(&vre->vre_lock); in raidz_reflow_impl()
4034 vre->vre_failed_offset = in raidz_reflow_impl()
4035 MIN(vre->vre_failed_offset, rra->rra_lr->lr_offset); in raidz_reflow_impl()
4036 cv_signal(&vre->vre_cv); in raidz_reflow_impl()
4037 mutex_exit(&vre->vre_lock); in raidz_reflow_impl()
4046 mutex_enter(&vre->vre_lock); in raidz_reflow_impl()
4047 vre->vre_outstanding_bytes += size; in raidz_reflow_impl()
4048 mutex_exit(&vre->vre_lock); in raidz_reflow_impl()
4131 vdev_raidz_expand_t *vre = arg; in raidz_reflow_scratch_sync() local
4137 vdev_t *raidvd = vdev_lookup_top(spa, vre->vre_vdev_id); in raidz_reflow_scratch_sync()
4155 zfs_locked_range_t *lr = zfs_rangelock_enter(&vre->vre_rangelock, in raidz_reflow_scratch_sync()
4369 vre->vre_offset = logical_size; in raidz_reflow_scratch_sync()
4374 vre->vre_offset_pertxg[txgoff] = vre->vre_offset; in raidz_reflow_scratch_sync()
4375 vre->vre_bytes_copied_pertxg[txgoff] = vre->vre_bytes_copied; in raidz_reflow_scratch_sync()
4392 vdev_raidz_expand_t *vre = spa->spa_raidz_expand; in vdev_raidz_reflow_copy_scratch() local
4397 vdev_t *raidvd = vdev_lookup_top(spa, vre->vre_vdev_id); in vdev_raidz_reflow_copy_scratch()
4468 vre->vre_offset = logical_size; in vdev_raidz_reflow_copy_scratch()
4469 vre->vre_offset_pertxg[txgoff] = vre->vre_offset; in vdev_raidz_reflow_copy_scratch()
4470 vre->vre_bytes_copied_pertxg[txgoff] = vre->vre_bytes_copied; in vdev_raidz_reflow_copy_scratch()
4500 vdev_raidz_expand_t *vre = spa->spa_raidz_expand; in spa_raidz_expand_thread() local
4503 vre->vre_offset = 0; in spa_raidz_expand_thread()
4505 vre->vre_offset = RRSS_GET_OFFSET(&spa->spa_ubsync); in spa_raidz_expand_thread()
4508 if (vre->vre_offset == 0) { in spa_raidz_expand_thread()
4511 vre, 0, ZFS_SPACE_CHECK_NONE)); in spa_raidz_expand_thread()
4514 if (vre->vre_offset == 0) { in spa_raidz_expand_thread()
4515 mutex_enter(&vre->vre_lock); in spa_raidz_expand_thread()
4516 vre->vre_waiting_for_resilver = B_TRUE; in spa_raidz_expand_thread()
4517 mutex_exit(&vre->vre_lock); in spa_raidz_expand_thread()
4523 vdev_t *raidvd = vdev_lookup_top(spa, vre->vre_vdev_id); in spa_raidz_expand_thread()
4528 for (uint64_t i = vre->vre_offset >> raidvd->vdev_ms_shift; in spa_raidz_expand_thread()
4531 vre->vre_failed_offset == UINT64_MAX; i++) { in spa_raidz_expand_thread()
4585 if (vre->vre_offset > msp->ms_start) { in spa_raidz_expand_thread()
4587 vre->vre_offset - msp->ms_start); in spa_raidz_expand_thread()
4592 vre->vre_failed_offset == UINT64_MAX) { in spa_raidz_expand_thread()
4613 vre->vre_bytes_copied && !zthr_iscancelled(zthr)) { in spa_raidz_expand_thread()
4617 mutex_enter(&vre->vre_lock); in spa_raidz_expand_thread()
4618 while (vre->vre_outstanding_bytes > in spa_raidz_expand_thread()
4620 cv_wait(&vre->vre_cv, &vre->vre_lock); in spa_raidz_expand_thread()
4622 mutex_exit(&vre->vre_lock); in spa_raidz_expand_thread()
4635 raidvd = vdev_lookup_top(spa, vre->vre_vdev_id); in spa_raidz_expand_thread()
4638 raidz_reflow_impl(raidvd, vre, rt, tx); in spa_raidz_expand_thread()
4657 raidvd = vdev_lookup_top(spa, vre->vre_vdev_id); in spa_raidz_expand_thread()
4677 vre->vre_offset == raidvd->vdev_ms_count << raidvd->vdev_ms_shift) { in spa_raidz_expand_thread()
4682 ASSERT3U(vre->vre_failed_offset, ==, UINT64_MAX); in spa_raidz_expand_thread()
4694 (long long)vre->vre_offset, in spa_raidz_expand_thread()
4695 (long long)vre->vre_failed_offset); in spa_raidz_expand_thread()
4696 mutex_enter(&vre->vre_lock); in spa_raidz_expand_thread()
4697 if (vre->vre_failed_offset != UINT64_MAX) { in spa_raidz_expand_thread()
4702 vre->vre_offset = vre->vre_failed_offset; in spa_raidz_expand_thread()
4703 vre->vre_failed_offset = UINT64_MAX; in spa_raidz_expand_thread()
4704 vre->vre_waiting_for_resilver = B_TRUE; in spa_raidz_expand_thread()
4706 mutex_exit(&vre->vre_lock); in spa_raidz_expand_thread()
4724 vdev_raidz_expand_t *vre = spa->spa_raidz_expand; in raidz_dtl_reassessed() local
4729 if (vd->vdev_top->vdev_id == vre->vre_vdev_id && in raidz_dtl_reassessed()
4731 mutex_enter(&vre->vre_lock); in raidz_dtl_reassessed()
4732 if (vre->vre_waiting_for_resilver) { in raidz_dtl_reassessed()
4735 vre->vre_waiting_for_resilver = B_FALSE; in raidz_dtl_reassessed()
4738 mutex_exit(&vre->vre_lock); in raidz_dtl_reassessed()
4871 vdev_raidz_expand_t *vre = spa->spa_raidz_expand; in spa_raidz_expand_get_stats() local
4873 if (vre == NULL) { in spa_raidz_expand_get_stats()
4881 (vre == NULL || in spa_raidz_expand_get_stats()
4883 vre->vre_end_time)) { in spa_raidz_expand_get_stats()
4884 vre = &vdrz->vn_vre; in spa_raidz_expand_get_stats()
4890 if (vre == NULL) { in spa_raidz_expand_get_stats()
4894 pres->pres_state = vre->vre_state; in spa_raidz_expand_get_stats()
4895 pres->pres_expanding_vdev = vre->vre_vdev_id; in spa_raidz_expand_get_stats()
4897 vdev_t *vd = vdev_lookup_top(spa, vre->vre_vdev_id); in spa_raidz_expand_get_stats()
4900 mutex_enter(&vre->vre_lock); in spa_raidz_expand_get_stats()
4901 pres->pres_reflowed = vre->vre_bytes_copied; in spa_raidz_expand_get_stats()
4903 pres->pres_reflowed += vre->vre_bytes_copied_pertxg[i]; in spa_raidz_expand_get_stats()
4904 mutex_exit(&vre->vre_lock); in spa_raidz_expand_get_stats()
4906 pres->pres_start_time = vre->vre_start_time; in spa_raidz_expand_get_stats()
4907 pres->pres_end_time = vre->vre_end_time; in spa_raidz_expand_get_stats()
4908 pres->pres_waiting_for_resilver = vre->vre_waiting_for_resilver; in spa_raidz_expand_get_stats()