Lines Matching refs:vd

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()
95 if (vd->vdev_tsd != NULL) { in vdev_file_open()
96 ASSERT(vd->vdev_reopening); in vdev_file_open()
97 vf = vd->vdev_tsd; in vdev_file_open()
101 vf = vd->vdev_tsd = kmem_zalloc(sizeof (vdev_file_t), KM_SLEEP); in vdev_file_open()
109 ASSERT(vd->vdev_path != NULL && vd->vdev_path[0] == '/'); in vdev_file_open()
110 error = vn_openat(vd->vdev_path + 1, UIO_SYSSPACE, in vdev_file_open()
111 spa_mode(vd->vdev_spa) | FOFFMAX, 0, &vp, 0, 0, rootdir, -1); in vdev_file_open()
114 vd->vdev_stat.vs_aux = VDEV_AUX_OPEN_FAILED; in vdev_file_open()
125 vd->vdev_stat.vs_aux = VDEV_AUX_OPEN_FAILED; in vdev_file_open()
137 vd->vdev_stat.vs_aux = VDEV_AUX_OPEN_FAILED; in vdev_file_open()
148 vdev_file_close(vdev_t *vd) in vdev_file_close() argument
150 vdev_file_t *vf = vd->vdev_tsd; in vdev_file_close()
152 if (vd->vdev_reopening || vf == NULL) in vdev_file_close()
157 (void) VOP_CLOSE(vf->vf_vnode, spa_mode(vd->vdev_spa), 1, 0, in vdev_file_close()
162 vd->vdev_delayed_close = B_FALSE; in vdev_file_close()
164 vd->vdev_tsd = NULL; in vdev_file_close()
218 vdev_t *vd = zio->io_vd; in vdev_file_io_start() local
219 vdev_file_t *vf = vd->vdev_tsd; in vdev_file_io_start()
225 if (!vdev_readable(vd)) { in vdev_file_io_start()