/illumos-gate/usr/src/uts/common/fs/zfs/ |
H A D | vdev.c | 118 vdev_dbgmsg(vdev_t *vd, const char *fmt, ...) in vdev_dbgmsg() argument 127 if (vd->vdev_path != NULL) { in vdev_dbgmsg() 128 zfs_dbgmsg("%s vdev '%s': %s", vd->vdev_ops->vdev_op_type, in vdev_dbgmsg() 129 vd->vdev_path, buf); in vdev_dbgmsg() 132 vd->vdev_ops->vdev_op_type, in vdev_dbgmsg() 133 (u_longlong_t)vd->vdev_id, in vdev_dbgmsg() 134 (u_longlong_t)vd->vdev_guid, buf); in vdev_dbgmsg() 139 vdev_dbgmsg_print_tree(vdev_t *vd, int indent) in vdev_dbgmsg_print_tree() argument 143 if (vd->vdev_ishole || vd->vdev_ops == &vdev_missing_ops) { in vdev_dbgmsg_print_tree() 144 zfs_dbgmsg("%*svdev %u: %s", indent, "", vd->vdev_id, in vdev_dbgmsg_print_tree() [all …]
|
H A D | vdev_initialize.c | 48 vdev_initialize_should_stop(vdev_t *vd) in vdev_initialize_should_stop() argument 50 return (vd->vdev_initialize_exit_wanted || !vdev_writeable(vd) || in vdev_initialize_should_stop() 51 vd->vdev_detached || vd->vdev_top->vdev_removing); in vdev_initialize_should_stop() 69 vdev_t *vd = spa_lookup_by_guid(tx->tx_pool->dp_spa, guid, B_FALSE); in vdev_initialize_zap_update_sync() local 70 if (vd == NULL || vd->vdev_top->vdev_removing || !vdev_is_concrete(vd)) in vdev_initialize_zap_update_sync() 73 uint64_t last_offset = vd->vdev_initialize_offset[txg & TXG_MASK]; in vdev_initialize_zap_update_sync() 74 vd->vdev_initialize_offset[txg & TXG_MASK] = 0; in vdev_initialize_zap_update_sync() 76 VERIFY(vd->vdev_leaf_zap != 0); in vdev_initialize_zap_update_sync() 78 objset_t *mos = vd->vdev_spa->spa_meta_objset; in vdev_initialize_zap_update_sync() 81 vd->vdev_initialize_last_offset = last_offset; in vdev_initialize_zap_update_sync() [all …]
|
H A D | vdev_trim.c | 169 vdev_trim_should_stop(vdev_t *vd) in vdev_trim_should_stop() argument 171 return (vd->vdev_trim_exit_wanted || !vdev_writeable(vd) || in vdev_trim_should_stop() 172 vd->vdev_detached || vd->vdev_top->vdev_removing); in vdev_trim_should_stop() 205 vdev_t *vd = spa_lookup_by_guid(tx->tx_pool->dp_spa, guid, B_FALSE); in vdev_trim_zap_update_sync() local 206 if (vd == NULL || vd->vdev_top->vdev_removing || !vdev_is_concrete(vd)) in vdev_trim_zap_update_sync() 209 uint64_t last_offset = vd->vdev_trim_offset[txg & TXG_MASK]; in vdev_trim_zap_update_sync() 210 vd->vdev_trim_offset[txg & TXG_MASK] = 0; in vdev_trim_zap_update_sync() 212 VERIFY3U(vd->vdev_leaf_zap, !=, 0); in vdev_trim_zap_update_sync() 214 objset_t *mos = vd->vdev_spa->spa_meta_objset; in vdev_trim_zap_update_sync() 216 if (last_offset > 0 || vd->vdev_trim_last_offset == UINT64_MAX) { in vdev_trim_zap_update_sync() [all …]
|
H A D | vdev_disk.c | 97 vdev_disk_alloc(vdev_t *vd) in vdev_disk_alloc() argument 101 dvd = vd->vdev_tsd = kmem_zalloc(sizeof (vdev_disk_t), KM_SLEEP); in vdev_disk_alloc() 110 vdev_disk_free(vdev_t *vd) in vdev_disk_free() argument 112 vdev_disk_t *dvd = vd->vdev_tsd; in vdev_disk_free() 129 vd->vdev_tsd = NULL; in vdev_disk_free() 136 vdev_t *vd = (vdev_t *)arg; in vdev_disk_off_notify() local 137 vdev_disk_t *dvd = vd->vdev_tsd; in vdev_disk_off_notify() 156 zfs_post_remove(vd->vdev_spa, vd); in vdev_disk_off_notify() 157 vd->vdev_remove_wanted = B_TRUE; in vdev_disk_off_notify() 158 spa_async_request(vd->vdev_spa, SPA_ASYNC_REMOVE); in vdev_disk_off_notify() [all …]
|
H A D | vdev_label.c | 188 vdev_label_read(zio_t *zio, vdev_t *vd, int l, abd_t *buf, uint64_t offset, in vdev_label_read() argument 196 zio_nowait(zio_read_phys(zio, vd, in vdev_label_read() 197 vdev_label_offset(vd->vdev_psize, l, offset), in vdev_label_read() 203 vdev_label_write(zio_t *zio, vdev_t *vd, int l, abd_t *buf, uint64_t offset, in vdev_label_write() argument 211 zio_nowait(zio_write_phys(zio, vd, in vdev_label_write() 212 vdev_label_offset(vd->vdev_psize, l, offset), in vdev_label_write() 221 vdev_config_generate_stats(vdev_t *vd, nvlist_t *nv) in vdev_config_generate_stats() argument 230 vdev_get_stats_ex(vd, vs, vsx); in vdev_config_generate_stats() 381 root_vdev_actions_getprogress(vdev_t *vd, nvlist_t *nvl) in root_vdev_actions_getprogress() argument 383 spa_t *spa = vd->vdev_spa; in root_vdev_actions_getprogress() [all …]
|
H A D | vdev_removal.c | 187 spa_vdev_removal_create(vdev_t *vd) in spa_vdev_removal_create() argument 193 svr->svr_vdev_id = vd->vdev_id; in spa_vdev_removal_create() 238 vdev_t *vd = vdev_lookup_top(spa, vdev_id); in vdev_remove_initiate_sync() local 239 vdev_indirect_config_t *vic = &vd->vdev_indirect_config; in vdev_remove_initiate_sync() 244 ASSERT3P(vd->vdev_ops, !=, &vdev_raidz_ops); in vdev_remove_initiate_sync() 245 svr = spa_vdev_removal_create(vd); in vdev_remove_initiate_sync() 247 ASSERT(vd->vdev_removing); in vdev_remove_initiate_sync() 248 ASSERT3P(vd->vdev_indirect_mapping, ==, NULL); in vdev_remove_initiate_sync() 259 VERIFY0(zap_add(spa->spa_meta_objset, vd->vdev_top_zap, in vdev_remove_initiate_sync() 262 ASSERT3U(vdev_obsolete_counts_are_precise(vd), !=, 0); in vdev_remove_initiate_sync() [all …]
|
H A D | vdev_root.c | 42 vdev_root_core_tvds(vdev_t *vd) in vdev_root_core_tvds() argument 46 for (uint64_t c = 0; c < vd->vdev_children; c++) { in vdev_root_core_tvds() 47 vdev_t *cvd = vd->vdev_child[c]; in vdev_root_core_tvds() 68 too_many_errors(vdev_t *vd, uint64_t numerrors) in too_many_errors() argument 75 tvds = vdev_root_core_tvds(vd); in too_many_errors() 81 return (numerrors > spa_missing_tvds_allowed(vd->vdev_spa)); in too_many_errors() 85 vdev_root_open(vdev_t *vd, uint64_t *asize, uint64_t *max_asize, in vdev_root_open() argument 88 spa_t *spa = vd->vdev_spa; in vdev_root_open() 92 if (vd->vdev_children == 0) { in vdev_root_open() 93 vd->vdev_stat.vs_aux = VDEV_AUX_BAD_LABEL; in vdev_root_open() [all …]
|
H A D | vdev_indirect.c | 324 vdev_indirect_mark_obsolete(vdev_t *vd, uint64_t offset, uint64_t size) in vdev_indirect_mark_obsolete() argument 326 spa_t *spa = vd->vdev_spa; in vdev_indirect_mark_obsolete() 328 ASSERT3U(vd->vdev_indirect_config.vic_mapping_object, !=, 0); in vdev_indirect_mark_obsolete() 329 ASSERT(vd->vdev_removing || vd->vdev_ops == &vdev_indirect_ops); in vdev_indirect_mark_obsolete() 332 vd->vdev_indirect_mapping, offset) != NULL); in vdev_indirect_mark_obsolete() 335 mutex_enter(&vd->vdev_obsolete_lock); in vdev_indirect_mark_obsolete() 336 range_tree_add(vd->vdev_obsolete_segments, offset, size); in vdev_indirect_mark_obsolete() 337 mutex_exit(&vd->vdev_obsolete_lock); in vdev_indirect_mark_obsolete() 338 vdev_dirty(vd, 0, NULL, spa_syncing_txg(spa)); in vdev_indirect_mark_obsolete() 351 vdev_t *vd = vdev_lookup_top(spa, vdev_id); in spa_vdev_indirect_mark_obsolete() local [all …]
|
H A D | vdev_file.c | 45 vdev_file_hold(vdev_t *vd) in vdev_file_hold() argument 47 ASSERT(vd->vdev_path != NULL); in vdev_file_hold() 51 vdev_file_rele(vdev_t *vd) in vdev_file_rele() argument 53 ASSERT(vd->vdev_path != NULL); in vdev_file_rele() 57 vdev_file_open(vdev_t *vd, uint64_t *psize, uint64_t *max_psize, in vdev_file_open() argument 68 vd->vdev_nonrot = B_TRUE; in vdev_file_open() 75 vd->vdev_has_trim = B_TRUE; in vdev_file_open() 81 vd->vdev_has_securetrim = B_FALSE; in vdev_file_open() 86 if (vd->vdev_path == NULL || vd->vdev_path[0] != '/') { in vdev_file_open() 87 vd->vdev_stat.vs_aux = VDEV_AUX_BAD_LABEL; in vdev_file_open() [all …]
|
H A D | spa_checkpoint.c | 209 vdev_t *vd = sdc->sdc_vd; in spa_checkpoint_discard_sync_callback() local 210 metaslab_t *ms = vd->vdev_ms[sme->sme_offset >> vd->vdev_ms_shift]; in spa_checkpoint_discard_sync_callback() 238 vdev_dirty(vd, VDD_METASLAB, ms, sdc->sdc_txg); in spa_checkpoint_discard_sync_callback() 242 ASSERT3U(vd->vdev_spa->spa_checkpoint_info.sci_dspace, >=, in spa_checkpoint_discard_sync_callback() 244 ASSERT3U(vd->vdev_stat.vs_checkpoint_space, >=, sme->sme_run); in spa_checkpoint_discard_sync_callback() 246 vd->vdev_spa->spa_checkpoint_info.sci_dspace -= sme->sme_run; in spa_checkpoint_discard_sync_callback() 247 vd->vdev_stat.vs_checkpoint_space -= sme->sme_run; in spa_checkpoint_discard_sync_callback() 261 vdev_t *vd = rvd->vdev_child[c]; in spa_checkpoint_accounting_verify() local 263 if (vd->vdev_checkpoint_sm != NULL) { in spa_checkpoint_accounting_verify() 265 -space_map_allocated(vd->vdev_checkpoint_sm); in spa_checkpoint_accounting_verify() [all …]
|
H A D | zfs_fm.c | 111 const char *subclass, spa_t *spa, vdev_t *vd, const zbookmark_phys_t *zb, in zfs_ereport_start() argument 119 if (!zfs_ereport_is_valid(subclass, spa, vd, zio)) in zfs_ereport_start() 160 vd != NULL ? vd->vdev_guid : 0); in zfs_ereport_start() 188 if (vd != NULL) { in zfs_ereport_start() 189 vdev_t *pvd = vd->vdev_parent; in zfs_ereport_start() 192 DATA_TYPE_UINT64, vd->vdev_guid, in zfs_ereport_start() 194 DATA_TYPE_STRING, vd->vdev_ops->vdev_op_type, NULL); in zfs_ereport_start() 195 if (vd->vdev_path != NULL) in zfs_ereport_start() 198 DATA_TYPE_STRING, vd->vdev_path, NULL); in zfs_ereport_start() 199 if (vd->vdev_devid != NULL) in zfs_ereport_start() [all …]
|
/illumos-gate/usr/src/uts/sun4v/io/ |
H A D | vds.c | 219 (vd->dring + (i)*vd->descriptor_size)) 222 #define VD_CLIENT(vd) \ argument 223 (((vd)->xfer_mode == VIO_DESC_MODE) ? "in-band client" : \ 224 (((vd)->xfer_mode == VIO_DRING_MODE_V1_0) ? "dring client" : \ 225 (((vd)->xfer_mode == 0) ? "null client" : \ 229 #define VD_DSKIMG_LABEL_READ(vd, labelp) \ argument 230 vd_dskimg_rw(vd, VD_SLICE_NONE, VD_OP_BREAD, (caddr_t)labelp, \ 234 #define VD_DSKIMG_LABEL_WRITE(vd, labelp) \ argument 235 vd_dskimg_rw(vd, VD_SLICE_NONE, VD_OP_BWRITE, (caddr_t)labelp, \ 239 #define VD_DSKIMG(vd) ((vd)->vdisk_type == VD_DISK_TYPE_DISK && \ argument [all …]
|
/illumos-gate/usr/src/boot/common/ |
H A D | vdisk.c | 75 vdisk_info_t *vd; in vdisk_get_info() local 77 STAILQ_FOREACH(vd, &vdisk_list, vdisk_link) { in vdisk_get_info() 78 if (vd->vdisk_unit == dev->d_unit) in vdisk_get_info() 79 return (vd); in vdisk_get_info() 81 return (vd); in vdisk_get_info() 89 vdisk_info_t *vd, *p; in command_mapvd() local 97 STAILQ_FOREACH(vd, &vdisk_list, vdisk_link) { in command_mapvd() 98 if (strcmp(vd->vdisk_path, argv[1]) == 0) { in command_mapvd() 101 vd->vdisk_unit); in command_mapvd() 126 vd = calloc(1, sizeof (*vd)); in command_mapvd() [all …]
|
/illumos-gate/usr/src/uts/common/fs/zfs/sys/ |
H A D | vdev.h | 52 extern void vdev_dbgmsg(vdev_t *vd, const char *fmt, ...); 63 extern int vdev_validate_aux(vdev_t *vd); 64 extern zio_t *vdev_probe(vdev_t *vd, zio_t *pio); 65 extern boolean_t vdev_is_concrete(vdev_t *vd); 66 extern boolean_t vdev_is_bootable(vdev_t *vd); 68 extern vdev_t *vdev_lookup_by_guid(vdev_t *vd, uint64_t guid); 70 extern void vdev_dtl_dirty(vdev_t *vd, vdev_dtl_type_t d, 72 extern boolean_t vdev_dtl_contains(vdev_t *vd, vdev_dtl_type_t d, 74 extern boolean_t vdev_dtl_empty(vdev_t *vd, vdev_dtl_type_t d); 75 extern boolean_t vdev_dtl_need_resilver(vdev_t *vd, uint64_t off, size_t size); [all …]
|
H A D | vdev_impl.h | 71 typedef int vdev_open_func_t(vdev_t *vd, uint64_t *size, uint64_t *max_size, 73 typedef void vdev_close_func_t(vdev_t *vd); 74 typedef uint64_t vdev_asize_func_t(vdev_t *vd, uint64_t psize); 77 typedef void vdev_state_change_func_t(vdev_t *vd, int, int); 78 typedef boolean_t vdev_need_resilver_func_t(vdev_t *vd, uint64_t, size_t); 79 typedef void vdev_hold_func_t(vdev_t *vd); 80 typedef void vdev_rele_func_t(vdev_t *vd); 82 typedef void vdev_remap_cb_t(uint64_t inner_offset, vdev_t *vd, 84 typedef void vdev_remap_func_t(vdev_t *vd, uint64_t offset, uint64_t size, 86 typedef int vdev_dumpio_func_t(vdev_t *vd, caddr_t data, size_t size, [all …]
|
/illumos-gate/usr/src/contrib/ast/src/lib/libast/vmalloc/ |
H A D | vmbest.c | 84 static int vmisfree(Vmdata_t* vd, Block_t* b) in vmisfree() argument 86 static int vmisfree(vd,b) in vmisfree() 87 Vmdata_t* vd; in vmisfree() 94 if(b == vd->wild) 98 return vmonlist(TINY(vd)[INDEX(SIZE(b))], b); 100 if(vd->root) 101 return vmintree(vd->root, b); 108 static int vmisjunk(Vmdata_t* vd, Block_t* b) in vmisjunk() argument 110 static int vmisjunk(vd,b) in vmisjunk() 111 Vmdata_t* vd; in vmisjunk() [all …]
|
H A D | vmopen.c | 41 { Vmdata_t vd; /* root of usable data space */ member 43 } vd; member 65 Vmdata_t *vd; local 98 vd = &init->vd.vd; /**/ASSERT(VLONG(vd)%ALIGN == 0); 114 vd = &init->vd.vd; /**/ASSERT(VLONG(vd)%ALIGN == 0); 115 vd->mode = mode | meth->meth; 116 vd->incr = incr; 117 vd->pool = 0; 118 vd->free = vd->wild = NIL(Block_t*); 120 if(vd->mode&(VM_MTBEST|VM_MTDEBUG|VM_MTPROFILE)) [all …]
|
H A D | vmprivate.c | 52 reg Vmdata_t* vd = vm->data; local 56 if(vd->incr <= 0) /* this is just _Vmheap on the first call */ 57 vd->incr = _Vmpagesize*sizeof(Void_t*); 63 if((size = ROUND(s,vd->incr)) < s) 67 if(size > 2*vd->incr && vm->disc->round < vd->incr) 68 vd->incr *= 2; 70 if(!(seg = vd->seg) ) /* there is no current segment */ 96 if(vd->mode&(VM_MTBEST|VM_MTDEBUG|VM_MTPROFILE) ) 105 if(bp == vd->wild) 106 vd->wild = NIL(Block_t*); [all …]
|
H A D | vmlast.c | 47 Vmdata_t *vd = vm->data; local 53 for(last = NIL(Seg_t*), seg = vd->seg; seg; last = seg, seg = seg->next) 58 seg->next = vd->seg; 59 vd->seg = seg; 80 vd->free = seg->last = tp; 82 if(!local && (vd->mode&VM_TRACE) && _Vmtrace) 103 Vmdata_t *vd = vm->data; local 110 if(data != (Void_t*)vd->free) 113 { seg = vd->seg; 114 if(!local && (vd->mode&VM_TRACE) && _Vmtrace) [all …]
|
H A D | vmpool.c | 53 reg Vmdata_t *vd = vm->data; local 58 if(size != vd->pool) 59 { if(vd->pool <= 0) 60 vd->pool = size; 66 if((tp = vd->free) ) /* there is a ready free block */ 67 { vd->free = SEGLINK(tp); 74 for(tp = NIL(Block_t*), seg = vd->seg; seg; seg = seg->next) 80 if((tp = (*_Vmextend)(vm,ROUND(size,vd->incr),NIL(Vmsearch_f))) ) 92 SEGLINK(next) = vd->free; 93 vd->free = next; [all …]
|
H A D | vmclear.c | 44 Vmdata_t *vd = vm->data; local 48 vd->free = vd->wild = NIL(Block_t*); 49 vd->pool = 0; 51 if(vd->mode&(VM_MTBEST|VM_MTDEBUG|VM_MTPROFILE) ) 52 { vd->root = NIL(Block_t*); 54 TINY(vd)[s] = NIL(Block_t*); local 56 CACHE(vd)[s] = NIL(Block_t*); local 59 for(seg = vd->seg; seg; seg = next) 67 if((vd->mode&(VM_MTLAST|VM_MTPOOL)) ) 71 LINK(tp) = CACHE(vd)[C_INDEX(SIZE(tp))]; [all …]
|
H A D | vmstat.c | 46 Vmdata_t *vd; local 71 vd = vm->data; 72 st->mode = vd->mode; 74 if(vd->mode&VM_MTLAST) 76 else if((vd->mode&VM_MTPOOL) && (s = vd->pool) > 0) 78 for(b = vd->free; b; b = SEGLINK(b)) 82 for(seg = vd->seg; seg; seg = seg->next) 89 if(vd->mode&(VM_MTDEBUG|VM_MTBEST|VM_MTPROFILE)) 100 if(vd->mode&VM_MTDEBUG) 102 else if(vd->mode&VM_MTPROFILE) [all …]
|
/illumos-gate/usr/src/uts/common/io/vioscsi/ |
H A D | vioscsi.c | 179 vioscsi_dev_abort(vioscsi_dev_t *vd) in vioscsi_dev_abort() argument 182 list_t *l = &vd->vd_reqs; in vioscsi_dev_abort() 184 mutex_enter(&vd->vd_lock); in vioscsi_dev_abort() 186 (void) vioscsi_tmf(vd->vd_sc, VIRTIO_SCSI_T_TMF_ABORT_TASK, in vioscsi_dev_abort() 189 mutex_exit(&vd->vd_lock); in vioscsi_dev_abort() 195 vioscsi_dev_t *vd = arg; in vioscsi_dev_timeout() local 196 vioscsi_softc_t *sc = vd->vd_sc; in vioscsi_dev_timeout() 202 mutex_enter(&vd->vd_lock); in vioscsi_dev_timeout() 203 if ((tid = vd->vd_timeout) == 0) { in vioscsi_dev_timeout() 207 mutex_exit(&vd->vd_lock); in vioscsi_dev_timeout() [all …]
|
/illumos-gate/usr/src/uts/sun4v/sys/ |
H A D | vdsk_common.h | 542 #define VD_UPDATE_IO_STATS(vd, op, len) \ argument 544 ASSERT((vd) != NULL); \ 545 ASSERT(MUTEX_HELD(&(vd)->lock)); \ 547 if ((vd)->io_stats != NULL) { \ 548 kstat_io_t *kip = KSTAT_IO_PTR((vd)->io_stats); \ 565 #define VD_KSTAT_WAITQ_ENTER(vd) \ argument 566 if ((vd)->io_stats != NULL) { \ 567 ASSERT(MUTEX_HELD(&(vd)->lock)); \ 568 kstat_waitq_enter(KSTAT_IO_PTR((vd)->io_stats)); \ 571 #define VD_KSTAT_WAITQ_EXIT(vd) \ argument [all …]
|
/illumos-gate/usr/src/lib/libadm/common/ |
H A D | rdwr_vtoc.c | 47 #define libadm_vtoc_copy(vs, vd) \ argument 50 vd->v_bootinfo[0] = (unsigned)vs->v_bootinfo[0]; \ 51 vd->v_bootinfo[1] = (unsigned)vs->v_bootinfo[1]; \ 52 vd->v_bootinfo[2] = (unsigned)vs->v_bootinfo[2]; \ 53 vd->v_sanity = (unsigned)vs->v_sanity; \ 54 vd->v_version = (unsigned)vs->v_version; \ 55 bcopy(vs->v_volume, vd->v_volume, LEN_DKL_VVOL); \ 56 vd->v_sectorsz = vs->v_sectorsz; \ 57 vd->v_nparts = vs->v_nparts; \ 58 vd->v_version = (unsigned)vs->v_version; \ [all …]
|