Lines Matching refs:newvd
7482 spa_vdev_new_spare_would_cause_double_spares(vdev_t *newvd, vdev_t *pvd) argument
7503 if (newvd->vdev_isspare)
7533 vdev_t *oldvd, *newvd, *newrootvd, *pvd, *tvd; local
7604 newvd = newrootvd->vdev_child[0];
7606 if (!newvd->vdev_ops->vdev_op_leaf)
7616 oldvd->vdev_top->vdev_islog) && newvd->vdev_isspare) {
7623 if (newvd->vdev_ops == &vdev_draid_spare_ops &&
7624 oldvd->vdev_top != vdev_draid_spare_get_parent(newvd)) {
7664 !spa_has_spare(spa, newvd->vdev_guid))
7679 newvd->vdev_isspare != oldvd->vdev_isspare) {
7683 if (spa_vdev_new_spare_would_cause_double_spares(newvd, pvd)) {
7684 vdev_dbgmsg(newvd,
7689 if (newvd->vdev_isspare)
7699 if (newvd->vdev_asize < vdev_get_min_asize(min_vdev))
7706 if (newvd->vdev_ashift > oldvd->vdev_top->vdev_ashift) {
7715 if (vdev_raidz_attach_check(newvd) != 0)
7749 newvdpath = spa_strdup(newvd->vdev_path);
7784 vdev_remove_child(newrootvd, newvd);
7785 newvd->vdev_id = pvd->vdev_children;
7786 newvd->vdev_crtxg = oldvd->vdev_crtxg;
7787 vdev_add_child(pvd, newvd);
7794 tvd = newvd->vdev_top;
7829 newvd, tx);
7832 vdev_dtl_dirty(newvd, DTL_MISSING, TXG_INITIAL,
7835 if (newvd->vdev_isspare) {
7836 spa_spare_activate(newvd);
7837 spa_event_notify(spa, newvd, NULL, ESC_ZFS_VDEV_SPARE);
7840 newvd_isspare = newvd->vdev_isspare;
7845 vdev_dirty(tvd, VDD_DTL, newvd, txg);
7853 newvd->vdev_rebuild_txg = txg;
7857 newvd->vdev_resilver_txg = txg;
7862 vdev_defer_resilver(newvd);
7871 spa_event_notify(spa, newvd, NULL, ESC_ZFS_BOOTFS_VDEV_ATTACH);
7873 spa_event_notify(spa, newvd, NULL, ESC_ZFS_VDEV_ATTACH);
8763 vdev_t *newvd, *oldvd; local
8782 newvd = vd->vdev_child[vd->vdev_children - 1];
8785 if (vdev_dtl_empty(newvd, DTL_MISSING) &&
8786 vdev_dtl_empty(newvd, DTL_OUTAGE) &&
8801 newvd = last;
8804 newvd = first;
8810 vdev_dtl_empty(newvd, DTL_MISSING) &&
8811 vdev_dtl_empty(newvd, DTL_OUTAGE) &&
8825 newvd = vd->vdev_child[1];
8827 if (newvd->vdev_isspare && last->vdev_isspare &&
8830 !vdev_dtl_required(newvd))
8831 return (newvd);