Lines Matching defs:et
227 * the host FS. ET phones home only from the root node of rumpfs.
248 ettype_to_vtype(enum rump_etfs_type et)
252 switch (et) {
269 panic("invalid et type: %d", et);
307 struct etfs *et;
312 LIST_FOREACH(et, &etfs_list, et_entries) {
313 if ((keylen == et->et_keylen || et->et_prefixkey || forceprefix)
314 && strncmp(key, et->et_key, et->et_keylen) == 0) {
316 *etp = et;
331 struct etfs *et;
374 et = kmem_alloc(sizeof(*et), KM_SLEEP);
375 strcpy(et->et_key, key);
376 et->et_keylen = strlen(et->et_key);
377 et->et_rn = rn = makeprivate(ettype_to_vtype(ftype), RUMPFS_DEFAULTMODE,
379 et->et_removing = false;
380 et->et_blkmin = dmin;
384 if (ftype == RUMP_ETFS_REG || REGDIR(ftype) || et->et_blkmin != -1) {
394 et->et_prefixkey = true;
396 et->et_prefixkey = false;
405 if (et->et_blkmin != -1)
407 if (et->et_rn->rn_hostpath != NULL)
408 free(et->et_rn->rn_hostpath, M_TEMP);
409 freeprivate(et->et_rn);
410 kmem_free(et, sizeof(*et));
413 LIST_INSERT_HEAD(&etfs_list, et, et_entries);
429 struct etfs *et;
443 LIST_FOREACH(et, &etfs_list, et_entries) {
444 if (keylen == et->et_keylen && strcmp(et->et_key, key) == 0) {
445 if (et->et_removing)
446 et = NULL;
448 et->et_removing = true;
453 if (!et)
460 if (et->et_blkmin != -1) {
461 rv = rumpblk_deregister(et->et_rn->rn_hostpath);
469 LIST_REMOVE(et, et_entries);
473 if (et->et_blkmin != -1) {
474 vdevgone(RUMPBLK_DEVMAJOR, et->et_blkmin, et->et_blkmin, VBLK);
481 if ((vp = et->et_rn->rn_vp) != NULL) {
484 KASSERT(rn == et->et_rn);
497 if (et->et_rn->rn_hostpath != NULL)
498 free(et->et_rn->rn_hostpath, M_TEMP);
499 freeprivate(et->et_rn);
500 kmem_free(et, sizeof(*et));
510 makeprivate(enum vtype vt, mode_t mode, dev_t rdev, off_t size, bool et)
524 if (et) {
648 struct etfs *et;
654 found = etfs_find(ap->a_name, &et, false);
657 *ap->a_retval = et->et_keylen;
682 struct etfs *et;
713 found = etfs_find(cnp->cn_nameptr, &et, false);
717 if (et->et_keylen != cnp->cn_namelen) {
728 rn = et->et_rn;
1411 /* et op? */
1488 /* consult et? */