Home | History | Annotate | Download | only in zfs

Lines Matching defs:dva

2547 metaslab_distance(metaslab_t *msp, dva_t *dva)
2550 uint64_t offset = DVA_GET_OFFSET(dva) >> ms_shift;
2553 if (msp->ms_group->mg_vd->vdev_id != DVA_GET_VDEV(dva))
2708 const dva_t *dva = bp->blk_dva;
2712 uint64_t vdev = DVA_GET_VDEV(&dva[d]);
2758 uint64_t asize, uint64_t txg, uint64_t min_distance, dva_t *dva, int d)
2768 if (DVA_GET_VDEV(&dva[i]) == mg->mg_vd->vdev_id) {
2824 if (metaslab_distance(msp, &dva[i]) <
2951 uint64_t asize, uint64_t txg, uint64_t min_distance, dva_t *dva, int d)
2957 min_distance, dva, d);
2985 * If we have to write a ditto block (i.e. more than one DVA for a given BP)
2986 * on the same vdev as an existing DVA of this BP, then try to allocate it
2997 dva_t *dva, int d, dva_t *hintdva, uint64_t txg, int flags,
3004 ASSERT(!DVA_IS_VALID(&dva[d]));
3054 vd = vdev_lookup_top(spa, DVA_GET_VDEV(&dva[d - 1]));
3139 distance, dva, d);
3180 DVA_SET_VDEV(&dva[d], vd->vdev_id);
3181 DVA_SET_OFFSET(&dva[d], offset);
3182 DVA_SET_GANG(&dva[d], !!(flags & METASLAB_GANG_HEADER));
3183 DVA_SET_ASIZE(&dva[d], asize);
3200 bzero(&dva[d], sizeof (dva_t));
3207 * Free the block represented by DVA in the context of the specified
3211 metaslab_free_dva(spa_t *spa, const dva_t *dva, uint64_t txg, boolean_t now)
3213 uint64_t vdev = DVA_GET_VDEV(dva);
3214 uint64_t offset = DVA_GET_OFFSET(dva);
3215 uint64_t size = DVA_GET_ASIZE(dva);
3219 ASSERT(DVA_IS_VALID(dva));
3226 cmn_err(CE_WARN, "metaslab_free_dva(): bad DVA %llu:%llu",
3234 if (DVA_GET_GANG(dva))
3269 metaslab_claim_dva(spa_t *spa, const dva_t *dva, uint64_t txg)
3271 uint64_t vdev = DVA_GET_VDEV(dva);
3272 uint64_t offset = DVA_GET_OFFSET(dva);
3273 uint64_t size = DVA_GET_ASIZE(dva);
3278 ASSERT(DVA_IS_VALID(dva));
3286 if (DVA_GET_GANG(dva))
3372 dva_t *dva = bp->blk_dva;
3392 error = metaslab_alloc_dva(spa, mc, psize, dva, d, hintdva,
3396 metaslab_free_dva(spa, &dva[d], txg, B_TRUE);
3398 DVA_GET_VDEV(&dva[d]), zio, flags);
3399 bzero(&dva[d], sizeof (dva_t));
3406 * based on the newly allocated dva.
3409 DVA_GET_VDEV(&dva[d]), zio, flags);
3426 const dva_t *dva = bp->blk_dva;
3435 metaslab_free_dva(spa, &dva[d], txg, now);
3443 const dva_t *dva = bp->blk_dva;
3461 if ((error = metaslab_claim_dva(spa, &dva[d], txg)) != 0)