• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/contrib/openzfs/module/zfs/

Lines Matching refs:scn_phys

198 	((scn)->scn_phys.scn_func == POOL_SCAN_SCRUB || \
199 (scn)->scn_phys.scn_func == POOL_SCAN_RESILVER)
222 * SYNC_OPTIONAL) write out scn_phys iff scn_bytes_pending == 0
223 * SYNC_MANDATORY) write out scn_phys always. scn_bytes_pending must be 0.
224 * SYNC_CACHED) if scn_bytes_pending == 0, write out scn_phys. Otherwise
382 return (scn->scn_phys.scn_state == DSS_SCANNING);
389 dp->dp_scan->scn_phys.scn_func == POOL_SCAN_RESILVER);
480 &scn->scn_phys.scn_queue_obj);
484 &scn->scn_phys);
487 * does properly update the scn->scn_phys structure and notify
509 bcopy(zaptmp, &scn->scn_phys,
511 scn->scn_phys.scn_flags = overflow;
514 if (scn->scn_phys.scn_state == DSS_FINISHED ||
515 scn->scn_phys.scn_state == DSS_CANCELED)
531 scn->scn_issued_before_pass = scn->scn_phys.scn_examined;
553 if (scn->scn_phys.scn_errors > 0) {
565 bcopy(&scn->scn_phys, &scn->scn_phys_cached, sizeof (scn->scn_phys));
568 if (scn->scn_phys.scn_queue_obj != 0) {
573 scn->scn_phys.scn_queue_obj);
623 dsl_scan_phys_t *scn_phys = &dp->dp_scan->scn_phys;
625 return (scn_phys->scn_state == DSS_SCANNING &&
626 scn_phys->scn_func == POOL_SCAN_SCRUB);
633 scn->scn_phys.scn_flags & DSF_SCRUB_PAUSED);
681 if (scn->scn_phys.scn_queue_obj != 0)
686 &scn->scn_phys, tx));
687 bcopy(&scn->scn_phys, &scn->scn_phys_cached,
688 sizeof (scn->scn_phys));
727 bzero(&scn->scn_phys, sizeof (scn->scn_phys));
728 scn->scn_phys.scn_func = *funcp;
729 scn->scn_phys.scn_state = DSS_SCANNING;
730 scn->scn_phys.scn_min_txg = 0;
731 scn->scn_phys.scn_max_txg = tx->tx_txg;
732 scn->scn_phys.scn_ddt_class_max = DDT_CLASSES - 1; /* the entire DDT */
733 scn->scn_phys.scn_start_time = gethrestime_sec();
734 scn->scn_phys.scn_errors = 0;
735 scn->scn_phys.scn_to_examine = spa->spa_root_vdev->vdev_stat.vs_alloc;
744 scn->scn_phys.scn_ddt_class_max = zfs_scrub_ddt_class_max;
750 &scn->scn_phys.scn_min_txg, &scn->scn_phys.scn_max_txg)) {
767 if (scn->scn_phys.scn_min_txg > TXG_INITIAL)
768 scn->scn_phys.scn_ddt_class_max = DDT_CLASS_DITTO;
777 if (scn->scn_phys.scn_func == POOL_SCAN_RESILVER) {
800 scn->scn_phys.scn_queue_obj = zap_create(dp->dp_meta_objset,
803 bcopy(&scn->scn_phys, &scn->scn_phys_cached, sizeof (scn->scn_phys));
809 *funcp, (u_longlong_t)scn->scn_phys.scn_min_txg,
810 (u_longlong_t)scn->scn_phys.scn_max_txg);
883 if (scn->scn_phys.scn_queue_obj != 0) {
885 scn->scn_phys.scn_queue_obj, tx));
886 scn->scn_phys.scn_queue_obj = 0;
891 scn->scn_phys.scn_flags &= ~DSF_SCRUB_PAUSED;
912 scn->scn_phys.scn_state = complete ? DSS_FINISHED : DSS_CANCELED;
942 scn->scn_phys.scn_max_txg, B_TRUE, B_FALSE);
944 if (scn->scn_phys.scn_min_txg) {
996 scn->scn_phys.scn_end_time = gethrestime_sec();
1066 scn->scn_phys.scn_flags |= DSF_SCRUB_PAUSED;
1082 scn->scn_phys.scn_flags &= ~DSF_SCRUB_PAUSED;
1202 ASSERT(scn->scn_phys.scn_queue_obj != 0);
1205 scn->scn_phys.scn_queue_obj, tx));
1206 scn->scn_phys.scn_queue_obj = zap_create(dp->dp_meta_objset, ot,
1211 scn->scn_phys.scn_queue_obj, sds->sds_dsobj,
1307 if (!ZB_IS_ZERO(&scn->scn_phys.scn_bookmark))
1333 int mintime = (scn->scn_phys.scn_func == POOL_SCAN_RESILVER) ?
1349 SET_BOOKMARK(&scn->scn_phys.scn_bookmark,
1357 scn->scn_phys.scn_bookmark = *zb;
1360 dsl_scan_phys_t *scnp = &scn->scn_phys;
1392 if (BP_IS_HOLE(bp) || bp->blk_birth <= scn->scn_phys.scn_cur_min_txg)
1407 VERIFY(0 == scan_funcs[scn->scn_phys.scn_func](dp, bp, &zb));
1427 bp->blk_birth <= scn->scn_phys.scn_cur_min_txg)
1442 VERIFY(0 == scan_funcs[scn->scn_phys.scn_func](dp, bp, &zb));
1573 if (BP_IS_HOLE(bp) || bp->blk_birth <= scn->scn_phys.scn_cur_min_txg ||
1773 if (!ZB_IS_ZERO(&scn->scn_phys.scn_bookmark) &&
1780 &scn->scn_phys.scn_bookmark))
1789 if (bcmp(zb, &scn->scn_phys.scn_bookmark, sizeof (*zb)) == 0 ||
1790 zb->zb_object > scn->scn_phys.scn_bookmark.zb_object) {
1796 bzero(&scn->scn_phys.scn_bookmark, sizeof (*zb));
1834 scn->scn_phys.scn_errors++;
1862 scn->scn_phys.scn_errors++;
1881 scn->scn_phys.scn_errors++;
1983 if (bp->blk_birth <= scn->scn_phys.scn_cur_min_txg) {
2000 scn->scn_phys.scn_ddt_class_max, bp)) {
2012 if (BP_PHYSICAL_BIRTH(bp) > scn->scn_phys.scn_cur_max_txg) {
2017 scan_funcs[scn->scn_phys.scn_func](dp, bp, zb);
2033 if (ZB_IS_ZERO(&scn->scn_phys.scn_bookmark)) {
2037 scn->scn_prefetch_bookmark = scn->scn_phys.scn_bookmark;
2052 ds_destroyed_scn_phys(dsl_dataset_t *ds, dsl_scan_phys_t *scn_phys)
2054 if (scn_phys->scn_bookmark.zb_objset == ds->ds_object) {
2066 scn_phys->scn_bookmark.zb_objset =
2073 scn_phys->scn_flags |= DSF_VISIT_DS_AGAIN;
2075 SET_BOOKMARK(&scn_phys->scn_bookmark,
2105 ds_destroyed_scn_phys(ds, &scn->scn_phys);
2115 if (zap_lookup_int_key(dp->dp_meta_objset, scn->scn_phys.scn_queue_obj,
2119 scn->scn_phys.scn_queue_obj, ds->ds_object, tx));
2127 scn->scn_phys.scn_queue_obj,
2179 ds_snapshotted_bookmark(ds, &scn->scn_phys.scn_bookmark);
2188 if (zap_lookup_int_key(dp->dp_meta_objset, scn->scn_phys.scn_queue_obj,
2191 scn->scn_phys.scn_queue_obj, ds->ds_object, tx));
2193 scn->scn_phys.scn_queue_obj,
2239 ds_clone_swapped_bookmark(ds1, ds2, &scn->scn_phys.scn_bookmark);
2282 scn->scn_phys.scn_queue_obj, ds1->ds_object, &mintxg1) == 0;
2284 scn->scn_phys.scn_queue_obj, ds2->ds_object, &mintxg2) == 0;
2305 scn->scn_phys.scn_queue_obj, ds1->ds_object, tx));
2307 scn->scn_phys.scn_queue_obj, ds2->ds_object, mintxg1, tx));
2314 scn->scn_phys.scn_queue_obj, ds2->ds_object, tx));
2316 scn->scn_phys.scn_queue_obj, ds1->ds_object, mintxg2, tx));
2366 if (scn->scn_phys.scn_cur_min_txg >=
2367 scn->scn_phys.scn_max_txg) {
2399 (longlong_t)scn->scn_phys.scn_cur_min_txg,
2400 (longlong_t)scn->scn_phys.scn_max_txg);
2438 (longlong_t)scn->scn_phys.scn_cur_min_txg,
2439 (longlong_t)scn->scn_phys.scn_cur_max_txg,
2453 if (scn->scn_phys.scn_flags & DSF_VISIT_DS_AGAIN) {
2455 scn->scn_phys.scn_flags &= ~DSF_VISIT_DS_AGAIN;
2457 scn->scn_phys.scn_cur_max_txg);
2579 ddp->ddp_phys_birth > scn->scn_phys.scn_max_txg)
2584 scan_funcs[scn->scn_phys.scn_func](scn->scn_dp, &bp, &zb);
2624 ddt_bookmark_t *ddb = &scn->scn_phys.scn_ddt_bookmark;
2634 if (ddb->ddb_class > scn->scn_phys.scn_ddt_class_max)
2655 (int)scn->scn_phys.scn_ddt_class_max, (int)scn->scn_suspending);
2659 ddb->ddb_class > scn->scn_phys.scn_ddt_class_max);
2665 uint64_t smt = ds->ds_dir->dd_pool->dp_scan->scn_phys.scn_max_txg;
2677 if (scn->scn_phys.scn_ddt_bookmark.ddb_class <=
2678 scn->scn_phys.scn_ddt_class_max) {
2679 scn->scn_phys.scn_cur_min_txg = scn->scn_phys.scn_min_txg;
2680 scn->scn_phys.scn_cur_max_txg = scn->scn_phys.scn_max_txg;
2686 if (scn->scn_phys.scn_bookmark.zb_objset == DMU_META_OBJSET) {
2689 scn->scn_phys.scn_cur_min_txg = scn->scn_phys.scn_min_txg;
2690 scn->scn_phys.scn_cur_max_txg = scn->scn_phys.scn_max_txg;
2705 } else if (scn->scn_phys.scn_bookmark.zb_objset !=
2707 uint64_t dsobj = scn->scn_phys.scn_bookmark.zb_objset;
2723 bzero(&scn->scn_phys.scn_bookmark, sizeof (zbookmark_phys_t));
2741 scn->scn_phys.scn_cur_min_txg =
2742 MAX(scn->scn_phys.scn_min_txg, txg);
2744 scn->scn_phys.scn_cur_min_txg =
2745 MAX(scn->scn_phys.scn_min_txg,
2748 scn->scn_phys.scn_cur_max_txg = dsl_scan_ds_maxtxg(ds);
2757 scn->scn_phys.scn_bookmark.zb_objset = ZB_DESTROYED_OBJSET;
2806 int mintime = (scn->scn_phys.scn_func == POOL_SCAN_RESILVER) ?
3593 int mintime = (scn->scn_phys.scn_func == POOL_SCAN_RESILVER) ?
3658 dsl_scan_phys_t *scnp = &scn->scn_phys;
3949 if (phys_birth <= scn->scn_phys.scn_min_txg ||
3950 phys_birth >= scn->scn_phys.scn_max_txg) {
3959 if (scn->scn_phys.scn_func == POOL_SCAN_SCRUB) {
3963 ASSERT3U(scn->scn_phys.scn_func, ==, POOL_SCAN_RESILVER);
3979 scn->scn_phys.scn_examined += DVA_GET_ASIZE(dva);
4023 atomic_inc_64(&spa->spa_dsl_pool->dp_scan->scn_phys.scn_errors);
4345 if (max <= dp->dp_scan->scn_phys.scn_max_txg)