Lines Matching refs:ftp
51 fmd_topo_rele_locked(fmd_topo_t *ftp)
55 if (--ftp->ft_refcount == 0) {
56 fmd_list_delete(&fmd.d_topo_list, ftp);
57 topo_close(ftp->ft_hdl);
58 fmd_free(ftp, sizeof (fmd_topo_t));
67 fmd_topo_t *ftp, *prev;
85 ftp = fmd_alloc(sizeof (fmd_topo_t), FMD_SLEEP);
86 ftp->ft_hdl = tp;
87 ftp->ft_time_begin = fmd_time_gethrtime();
95 ftp->ft_time_end = fmd_time_gethrtime();
105 ftp->ft_refcount = 1;
106 fmd_list_prepend(&fmd.d_topo_list, ftp);
114 fmd_topo_t *ftp;
117 ftp = fmd_list_next(&fmd.d_topo_list);
118 ftp->ft_refcount++;
121 return (ftp);
125 fmd_topo_addref(fmd_topo_t *ftp)
128 ftp->ft_refcount++;
133 fmd_topo_rele(fmd_topo_t *ftp)
137 fmd_topo_rele_locked(ftp);
145 fmd_topo_t *ftp;
148 for (ftp = fmd_list_next(&fmd.d_topo_list); ftp != NULL;
149 ftp = fmd_list_next(ftp)) {
150 if (ftp->ft_hdl == thp)
153 ASSERT(ftp != NULL);
155 fmd_topo_rele_locked(ftp);
168 fmd_topo_t *ftp;
171 while ((ftp = fmd_list_next(&fmd.d_topo_list)) != NULL) {
172 fmd_list_delete(&fmd.d_topo_list, ftp);
173 topo_close(ftp->ft_hdl);
174 fmd_free(ftp, sizeof (fmd_topo_t));