Lines Matching defs:dva
4477 metaslab_is_unique(metaslab_t *msp, dva_t *dva)
4481 if (DVA_GET_ASIZE(dva) == 0)
4484 if (msp->ms_group->mg_vd->vdev_id != DVA_GET_VDEV(dva))
4487 dva_ms_id = DVA_GET_OFFSET(dva) >> msp->ms_group->mg_vd->vdev_ms_shift;
4635 const dva_t *dva = bp->blk_dva;
4639 uint64_t vdev = DVA_GET_VDEV(&dva[d]);
4702 dva_t *dva, int d, boolean_t want_unique, uint64_t asize, int allocator,
4748 !metaslab_is_unique(msp, &dva[i]))
4801 uint64_t asize, uint64_t txg, boolean_t want_unique, dva_t *dva, int d,
4810 DVA_GET_VDEV(&dva[i]) == mg->mg_vd->vdev_id) {
4813 DVA_GET_VDEV(&dva[i]) == mg->mg_vd->vdev_id) {
4877 msp = find_valid_metaslab(mg, activation_weight, dva, d,
5107 uint64_t asize, uint64_t txg, boolean_t want_unique, dva_t *dva, int d,
5113 dva, d, allocator, try_hard);
5145 dva_t *dva, int d, dva_t *hintdva, uint64_t txg, int flags,
5153 ASSERT(!DVA_IS_VALID(&dva[d]));
5210 vd = vdev_lookup_top(spa, DVA_GET_VDEV(&dva[d - 1]));
5285 !try_hard, dva, d, allocator, try_hard);
5341 DVA_SET_VDEV(&dva[d], vd->vdev_id);
5342 DVA_SET_OFFSET(&dva[d], offset);
5343 DVA_SET_GANG(&dva[d],
5345 DVA_SET_ASIZE(&dva[d], asize);
5365 memset(&dva[d], 0, sizeof (dva_t));
5489 * The phys birth time is that of dva[0]. This ensures that we know
5490 * when each dva was written, so that resilver can determine which
5493 * the ARC hash table is unique (i.e. dva[0] + phys_birth). If
5515 * If the BP was remapped, calls the callback on the original dva (note the
5555 * Note: we only remap dva[0]. If we remapped other dvas, we
5558 dva_t *dva = &bp->blk_dva[0];
5560 uint64_t offset = DVA_GET_OFFSET(dva);
5561 uint64_t size = DVA_GET_ASIZE(dva);
5562 vdev_t *vd = vdev_lookup_top(spa, DVA_GET_VDEV(dva));
5593 metaslab_unalloc_dva(spa_t *spa, const dva_t *dva, uint64_t txg)
5597 uint64_t vdev = DVA_GET_VDEV(dva);
5598 uint64_t offset = DVA_GET_OFFSET(dva);
5599 uint64_t size = DVA_GET_ASIZE(dva);
5601 ASSERT(DVA_IS_VALID(dva));
5607 if ((vd = vdev_lookup_top(spa, vdev)) == NULL || !DVA_IS_VALID(dva) ||
5620 if (DVA_GET_GANG(dva))
5645 metaslab_free_dva(spa_t *spa, const dva_t *dva, boolean_t checkpoint)
5647 uint64_t vdev = DVA_GET_VDEV(dva);
5648 uint64_t offset = DVA_GET_OFFSET(dva);
5649 uint64_t size = DVA_GET_ASIZE(dva);
5652 ASSERT(DVA_IS_VALID(dva));
5655 if (DVA_GET_GANG(dva)) {
5824 metaslab_claim_dva(spa_t *spa, const dva_t *dva, uint64_t txg)
5826 uint64_t vdev = DVA_GET_VDEV(dva);
5827 uint64_t offset = DVA_GET_OFFSET(dva);
5828 uint64_t size = DVA_GET_ASIZE(dva);
5835 ASSERT(DVA_IS_VALID(dva));
5837 if (DVA_GET_GANG(dva))
5848 dva_t *dva = bp->blk_dva;
5869 error = metaslab_alloc_dva(spa, mc, psize, dva, d, hintdva,
5873 metaslab_unalloc_dva(spa, &dva[d], txg);
5875 DVA_GET_VDEV(&dva[d]), zio, flags,
5877 memset(&dva[d], 0, sizeof (dva_t));
5884 * based on the newly allocated dva.
5887 DVA_GET_VDEV(&dva[d]), zio, flags, allocator);
5903 const dva_t *dva = bp->blk_dva;
5940 metaslab_unalloc_dva(spa, &dva[d], txg);
5943 metaslab_free_dva(spa, &dva[d], checkpoint);
5953 const dva_t *dva = bp->blk_dva;
5971 error = metaslab_claim_dva(spa, &dva[d], txg);