Lines Matching defs:zb
133 static void read_by_block_level(dsl_scan_t *scn, zbookmark_phys_t zb);
360 const zbookmark_phys_t *zb, dsl_scan_io_queue_t *queue);
1630 dsl_scan_check_suspend(dsl_scan_t *scn, const zbookmark_phys_t *zb)
1633 if (zb && (int64_t)zb->zb_object < 0)
1643 if (zb && (zb->zb_level != 0 && zb->zb_level != ZB_ROOT_LEVEL))
1676 if (zb && zb->zb_level == ZB_ROOT_LEVEL) {
1679 (longlong_t)zb->zb_objset,
1680 (longlong_t)zb->zb_object,
1681 (longlong_t)zb->zb_level,
1682 (longlong_t)zb->zb_blkid);
1684 zb->zb_objset, 0, 0, 0);
1685 } else if (zb != NULL) {
1687 (longlong_t)zb->zb_objset,
1688 (longlong_t)zb->zb_object,
1689 (longlong_t)zb->zb_level,
1690 (longlong_t)zb->zb_blkid);
1691 scn->scn_phys.scn_bookmark = *zb;
1710 dsl_error_scrub_check_suspend(dsl_scan_t *scn, const zbookmark_phys_t *zb)
1732 if (zb) {
1735 (longlong_t)zb->zb_objset,
1736 (longlong_t)zb->zb_object,
1737 (longlong_t)zb->zb_level,
1738 (longlong_t)zb->zb_blkid);
1759 zbookmark_phys_t zb;
1776 SET_BOOKMARK(&zb, zh->zh_log.blk_cksum.zc_word[ZIL_ZC_OBJSET],
1779 VERIFY(0 == scan_funcs[scn->scn_phys.scn_func](dp, bp, &zb));
1795 zbookmark_phys_t zb;
1811 SET_BOOKMARK(&zb, zh->zh_log.blk_cksum.zc_word[ZIL_ZC_OBJSET],
1815 VERIFY(0 == scan_funcs[scn->scn_phys.scn_func](dp, bp, &zb));
1915 const zbookmark_phys_t *zb)
1921 if (zb->zb_objset != last_zb->zb_objset)
1923 if ((int64_t)zb->zb_object < 0)
1929 if (zbookmark_subtree_completed(dnp, zb, last_zb))
1936 dsl_scan_prefetch(scan_prefetch_ctx_t *spc, blkptr_t *bp, zbookmark_phys_t *zb)
1952 if (dsl_scan_check_prefetch_resume(spc, zb))
1959 spic->spic_zb = *zb;
1985 zbookmark_phys_t zb;
1991 SET_BOOKMARK(&zb, objset, object, 0, 0);
1996 zb.zb_level = BP_GET_LEVEL(&dnp->dn_blkptr[i]);
1997 zb.zb_blkid = i;
1998 dsl_scan_prefetch(spc, &dnp->dn_blkptr[i], &zb);
2002 zb.zb_level = 0;
2003 zb.zb_blkid = DMU_SPILL_BLKID;
2004 dsl_scan_prefetch(spc, DN_SPILL_BLKPTR(dnp), &zb);
2011 dsl_scan_prefetch_cb(zio_t *zio, const zbookmark_phys_t *zb, const blkptr_t *bp,
2037 SET_BOOKMARK(&czb, zb->zb_objset, zb->zb_object,
2038 zb->zb_level - 1, zb->zb_blkid * epb + i);
2050 zb->zb_objset, zb->zb_blkid * epb + i);
2056 zb->zb_objset, DMU_META_DNODE_OBJECT);
2061 &osp->os_projectused_dnode, zb->zb_objset,
2065 &osp->os_groupused_dnode, zb->zb_objset,
2068 &osp->os_userused_dnode, zb->zb_objset,
2153 const zbookmark_phys_t *zb)
2159 (int64_t)zb->zb_object >= 0) {
2164 if (zbookmark_subtree_completed(dnp, zb,
2173 if (zbookmark_subtree_tbd(dnp, zb,
2176 (longlong_t)zb->zb_objset,
2177 (longlong_t)zb->zb_object,
2178 (longlong_t)zb->zb_level,
2179 (longlong_t)zb->zb_blkid);
2180 memset(&scn->scn_phys.scn_bookmark, 0, sizeof (*zb));
2186 static void dsl_scan_visitbp(const blkptr_t *bp, const zbookmark_phys_t *zb,
2200 const zbookmark_phys_t *zb, dmu_tx_t *tx)
2218 spa_log_error(spa, zb, BP_GET_LOGICAL_BIRTH(bp));
2230 ZIO_PRIORITY_SCRUB, zio_flags, &flags, zb);
2238 SET_BOOKMARK(&czb, zb->zb_objset, zb->zb_object,
2239 zb->zb_level - 1,
2240 zb->zb_blkid * epb + i);
2258 ZIO_PRIORITY_SCRUB, zio_flags, &flags, zb);
2267 cdnp, zb->zb_blkid * epb + i, tx);
2277 ZIO_PRIORITY_SCRUB, zio_flags, &flags, zb);
2314 spa_log_error(spa, zb, BP_GET_LOGICAL_BIRTH(bp));
2351 dsl_scan_visitbp(const blkptr_t *bp, const zbookmark_phys_t *zb,
2357 if (dsl_scan_check_suspend(scn, zb))
2360 if (dsl_scan_check_resume(scn, dnp, zb))
2396 if (dsl_scan_recurse(scn, ds, ostype, dnp, bp, zb, tx) != 0)
2422 scan_funcs[scn->scn_phys.scn_func](dp, bp, zb);
2429 zbookmark_phys_t zb;
2432 SET_BOOKMARK(&zb, ds ? ds->ds_object : DMU_META_OBJSET,
2437 zb.zb_objset, 0, 0, 0);
2445 dsl_scan_prefetch(spc, bp, &zb);
2448 dsl_scan_visitbp(bp, &zb, NULL, ds, scn, DMU_OST_NONE, tx);
2974 zbookmark_phys_t zb = { 0 };
3002 scan_funcs[scn->scn_phys.scn_func](scn->scn_dp, &bp, &zb);
3927 name_to_bookmark(char *buf, zbookmark_phys_t *zb)
3929 zb->zb_objset = zfs_strtonum(buf, &buf);
3931 zb->zb_object = zfs_strtonum(buf + 1, &buf);
3933 zb->zb_level = (int)zfs_strtonum(buf + 1, &buf);
3935 zb->zb_blkid = zfs_strtonum(buf + 1, &buf);
3947 read_by_block_level(dsl_scan_t *scn, zbookmark_phys_t zb)
3952 if (dsl_dataset_hold_obj(dp, zb.zb_objset, FTAG, &ds) != 0)
3978 if (dnode_hold(os, zb.zb_object, FTAG, &dn) != 0) {
3984 int error = dbuf_dnode_findbp(dn, zb.zb_level, zb.zb_blkid, &bp, NULL,
4005 if (zb.zb_level == ZB_ZIL_LEVEL)
4009 scan_exec_io(dp, &bp, zio_flags, &zb, NULL);
4046 zbookmark_phys_t zb;
4047 zep_to_zb(fs, zep, &zb);
4051 read_by_block_level(scn, zb);
4060 dsl_error_scrub_check_suspend(scn, &zb)) {
4126 zbookmark_phys_t zb;
4127 zep_to_zb(snap_obj, zep, &zb);
4131 read_by_block_level(scn, zb);
4140 dsl_error_scrub_check_suspend(scn, &zb)) {
4206 zbookmark_phys_t *zb;
4210 zb = kmem_zalloc(sizeof (zbookmark_phys_t), KM_SLEEP);
4215 name_to_bookmark(za->za_name, zb);
4220 read_by_block_level(scn, *zb);
4230 dsl_error_scrub_check_suspend(scn, zb)) {
4241 kmem_free(zb, sizeof (*zb));
4300 kmem_free(zb, sizeof (*zb));
4678 zfs_blkstat_t *zb = &zab->zab_type[l][t];
4681 zb->zb_count++;
4682 zb->zb_asize += BP_GET_ASIZE(bp);
4683 zb->zb_lsize += BP_GET_LSIZE(bp);
4684 zb->zb_psize += BP_GET_PSIZE(bp);
4685 zb->zb_gangs += BP_COUNT_GANG(bp);
4691 zb->zb_ditto_2_of_2_samevdev++;
4701 zb->zb_ditto_2_of_3_samevdev++;
4703 zb->zb_ditto_3_of_3_samevdev++;
4738 int zio_flags, const zbookmark_phys_t *zb)
4747 sio->sio_zb = *zb;
4760 const zbookmark_phys_t *zb)
4771 scan_exec_io(dp, bp, zio_flags, zb, NULL);
4788 i, zio_flags, zb);
4795 const blkptr_t *bp, const zbookmark_phys_t *zb)
4825 if (zb->zb_level == ZB_ZIL_LEVEL)
4846 dsl_scan_enqueue(dp, bp, zio_flags, zb);
4900 const zbookmark_phys_t *zb, dsl_scan_io_queue_t *queue)
4931 queue, ZIO_PRIORITY_SCRUB, zio_flags, zb));