vnd 78 arch/i386/i386/conf.c bdev_disk_init(NVND,vnd), /* 14: vnode disk driver */
vnd 251 arch/i386/i386/conf.c cdev_disk_init(NVND,vnd), /* 41: vnode disk driver */
vnd 170 dev/vnd.c vndencrypt(struct vnd_softc *vnd, caddr_t addr, size_t size, daddr64_t off,
vnd 180 dev/vnd.c blf_ecb_encrypt(vnd->sc_keyctx, iv, sizeof(iv));
vnd 182 dev/vnd.c blf_cbc_encrypt(vnd->sc_keyctx, iv, addr, bsize);
vnd 184 dev/vnd.c blf_cbc_decrypt(vnd->sc_keyctx, iv, addr, bsize);
vnd 382 dev/vnd.c struct vnd_softc *vnd = &vnd_softc[unit];
vnd 395 dev/vnd.c if ((vnd->sc_flags & VNF_INITED) == 0) {
vnd 417 dev/vnd.c if (vnd->sc_flags & VNF_HAVELABEL) {
vnd 418 dev/vnd.c if (bounds_check_with_label(bp, vnd->sc_dk.dk_label, 1) <= 0) {
vnd 438 dev/vnd.c daddr64_t off = DL_GETPOFFSET(&vnd->sc_dk.dk_label->d_partitions[part]);
vnd 448 dev/vnd.c vn_lock(vnd->sc_vp, LK_EXCLUSIVE | LK_RETRY, p);
vnd 451 dev/vnd.c bp->b_error = VOP_READ(vnd->sc_vp, &auio, 0,
vnd 452 dev/vnd.c vnd->sc_cred);
vnd 453 dev/vnd.c if (vnd->sc_keyctx)
vnd 454 dev/vnd.c vndencrypt(vnd, bp->b_data,
vnd 457 dev/vnd.c if (vnd->sc_keyctx)
vnd 458 dev/vnd.c vndencrypt(vnd, bp->b_data,
vnd 465 dev/vnd.c bp->b_error = VOP_WRITE(vnd->sc_vp, &auio,
vnd 466 dev/vnd.c IO_NOLIMIT, vnd->sc_cred);
vnd 468 dev/vnd.c if (vnd->sc_keyctx)
vnd 469 dev/vnd.c vndencrypt(vnd, bp->b_data,
vnd 472 dev/vnd.c VOP_UNLOCK(vnd->sc_vp, 0, p);
vnd 481 dev/vnd.c if (!vnd->sc_tab.b_active)
vnd 489 dev/vnd.c bp = vnd->sc_tab.b_actf;
vnd 490 dev/vnd.c vnd->sc_tab.b_actf = bp->b_actf;
vnd 491 dev/vnd.c vnd->sc_tab.b_active--;
vnd 497 dev/vnd.c bn += DL_GETPOFFSET(&vnd->sc_dk.dk_label->d_partitions[DISKPART(bp->b_dev)]);
vnd 499 dev/vnd.c bsize = vnd->sc_vp->v_mount->mnt_stat.f_iosize;
vnd 508 dev/vnd.c vn_lock(vnd->sc_vp, LK_RETRY | LK_EXCLUSIVE, p);
vnd 509 dev/vnd.c error = VOP_BMAP(vnd->sc_vp, bn / bsize, &vp, &nbn, &nra);
vnd 510 dev/vnd.c VOP_UNLOCK(vnd->sc_vp, 0, p);
vnd 526 dev/vnd.c vnd->sc_vp, vp, bn, nbn, sz);
vnd 581 dev/vnd.c disksort(&vnd->sc_tab, &nbp->vb_buf);
vnd 582 dev/vnd.c vnd->sc_tab.b_active++;
vnd 583 dev/vnd.c vndstart(vnd);
vnd 597 dev/vnd.c vndstart(struct vnd_softc *vnd)
vnd 605 dev/vnd.c bp = vnd->sc_tab.b_actf;
vnd 606 dev/vnd.c vnd->sc_tab.b_actf = bp->b_actf;
vnd 610 dev/vnd.c vnd-vnd_softc, bp, bp->b_vp, bp->b_blkno, bp->b_data,
vnd 614 dev/vnd.c disk_busy(&vnd->sc_dk);
vnd 626 dev/vnd.c struct vnd_softc *vnd = &vnd_softc[vndunit(pbp->b_dev)];
vnd 632 dev/vnd.c vnd-vnd_softc, vbp, vbp->vb_buf.b_vp, vbp->vb_buf.b_blkno,
vnd 644 dev/vnd.c if (vnd->sc_tab.b_active) {
vnd 645 dev/vnd.c disk_unbusy(&vnd->sc_dk, (pbp->b_bcount - pbp->b_resid),
vnd 647 dev/vnd.c if (!vnd->sc_tab.b_actf)
vnd 648 dev/vnd.c vnd->sc_tab.b_active--;
vnd 700 dev/vnd.c struct vnd_softc *vnd;
vnd 716 dev/vnd.c vnd = &vnd_softc[unit];
vnd 721 dev/vnd.c if (vnd->sc_flags & VNF_INITED)
vnd 723 dev/vnd.c if (!(vnd->sc_flags & VNF_SIMPLE) && vio->vnd_keylen)
vnd 726 dev/vnd.c if ((error = vndlock(vnd)) != 0)
vnd 729 dev/vnd.c if ((error = copyinstr(vio->vnd_file, vnd->sc_file,
vnd 730 dev/vnd.c sizeof(vnd->sc_file), NULL))) {
vnd 731 dev/vnd.c vndunlock(vnd);
vnd 735 dev/vnd.c bzero(vnd->sc_dev.dv_xname, sizeof(vnd->sc_dev.dv_xname));
vnd 736 dev/vnd.c if (snprintf(vnd->sc_dev.dv_xname, sizeof(vnd->sc_dev.dv_xname),
vnd 737 dev/vnd.c "vnd%d", unit) >= sizeof(vnd->sc_dev.dv_xname)) {
vnd 739 dev/vnd.c vndunlock(vnd);
vnd 749 dev/vnd.c vnd->sc_flags &= ~VNF_READONLY;
vnd 752 dev/vnd.c vnd->sc_flags |= VNF_READONLY;
vnd 756 dev/vnd.c vndunlock(vnd);
vnd 763 dev/vnd.c (void) vn_close(nd.ni_vp, VNDRW(vnd), p->p_ucred, p);
vnd 764 dev/vnd.c vndunlock(vnd);
vnd 768 dev/vnd.c vnd->sc_vp = nd.ni_vp;
vnd 769 dev/vnd.c vnd->sc_size = btodb(vattr.va_size); /* note truncation */
vnd 770 dev/vnd.c if ((error = vndsetcred(vnd, p->p_ucred)) != 0) {
vnd 771 dev/vnd.c (void) vn_close(nd.ni_vp, VNDRW(vnd), p->p_ucred, p);
vnd 772 dev/vnd.c vndunlock(vnd);
vnd 784 dev/vnd.c (void) vn_close(nd.ni_vp, VNDRW(vnd),
vnd 786 dev/vnd.c vndunlock(vnd);
vnd 790 dev/vnd.c vnd->sc_keyctx = malloc(sizeof(*vnd->sc_keyctx), M_DEVBUF,
vnd 792 dev/vnd.c blf_key(vnd->sc_keyctx, key, vio->vnd_keylen);
vnd 795 dev/vnd.c vnd->sc_keyctx = NULL;
vnd 797 dev/vnd.c vio->vnd_size = dbtob((off_t)vnd->sc_size);
vnd 798 dev/vnd.c vnd->sc_flags |= VNF_INITED;
vnd 801 dev/vnd.c vnd->sc_vp, (unsigned long long)vnd->sc_size);
vnd 804 dev/vnd.c vnd->sc_dk.dk_driver = &vnddkdriver;
vnd 805 dev/vnd.c vnd->sc_dk.dk_name = vnd->sc_dev.dv_xname;
vnd 806 dev/vnd.c disk_attach(&vnd->sc_dk);
vnd 808 dev/vnd.c vndunlock(vnd);
vnd 813 dev/vnd.c if ((vnd->sc_flags & VNF_INITED) == 0)
vnd 816 dev/vnd.c if ((error = vndlock(vnd)) != 0)
vnd 826 dev/vnd.c if ((vnd->sc_dk.dk_openmask & ~pmask) ||
vnd 827 dev/vnd.c ((vnd->sc_dk.dk_bopenmask & pmask) &&
vnd 828 dev/vnd.c (vnd->sc_dk.dk_copenmask & pmask))) {
vnd 829 dev/vnd.c vndunlock(vnd);
vnd 833 dev/vnd.c vndclear(vnd);
vnd 837 dev/vnd.c if (vnd->sc_keyctx) {
vnd 838 dev/vnd.c bzero(vnd->sc_keyctx, sizeof(*vnd->sc_keyctx));
vnd 839 dev/vnd.c free(vnd->sc_keyctx, M_DEVBUF);
vnd 843 dev/vnd.c disk_detach(&vnd->sc_dk);
vnd 847 dev/vnd.c vndunlock(vnd);
vnd 848 dev/vnd.c bzero(vnd, sizeof(struct vnd_softc));
vnd 862 dev/vnd.c vnd = &vnd_softc[vnu->vnu_unit];
vnd 864 dev/vnd.c if (vnd->sc_flags & VNF_INITED) {
vnd 865 dev/vnd.c error = VOP_GETATTR(vnd->sc_vp, &vattr, p->p_ucred, p);
vnd 869 dev/vnd.c strlcpy(vnu->vnu_file, vnd->sc_file,
vnd 881 dev/vnd.c if ((vnd->sc_flags & VNF_HAVELABEL) == 0)
vnd 883 dev/vnd.c *(struct disklabel *)addr = *(vnd->sc_dk.dk_label);
vnd 887 dev/vnd.c if ((vnd->sc_flags & VNF_HAVELABEL) == 0)
vnd 889 dev/vnd.c ((struct partinfo *)addr)->disklab = vnd->sc_dk.dk_label;
vnd 891 dev/vnd.c &vnd->sc_dk.dk_label->d_partitions[DISKPART(dev)];
vnd 896 dev/vnd.c if ((vnd->sc_flags & VNF_HAVELABEL) == 0)
vnd 901 dev/vnd.c if ((error = vndlock(vnd)) != 0)
vnd 903 dev/vnd.c vnd->sc_flags |= VNF_LABELLING;
vnd 905 dev/vnd.c error = setdisklabel(vnd->sc_dk.dk_label,
vnd 910 dev/vnd.c vndstrategy, vnd->sc_dk.dk_label);
vnd 913 dev/vnd.c vnd->sc_flags &= ~VNF_LABELLING;
vnd 914 dev/vnd.c vndunlock(vnd);
vnd 921 dev/vnd.c vnd->sc_flags |= VNF_WLABEL;
vnd 923 dev/vnd.c vnd->sc_flags &= ~VNF_WLABEL;
vnd 940 dev/vnd.c vndsetcred(struct vnd_softc *vnd, struct ucred *cred)
vnd 948 dev/vnd.c vnd->sc_cred = crdup(cred);
vnd 953 dev/vnd.c aiov.iov_len = MIN(DEV_BSIZE, dbtob((off_t)vnd->sc_size));
vnd 960 dev/vnd.c vn_lock(vnd->sc_vp, LK_RETRY | LK_EXCLUSIVE, p);
vnd 961 dev/vnd.c error = VOP_READ(vnd->sc_vp, &auio, 0, vnd->sc_cred);
vnd 962 dev/vnd.c VOP_UNLOCK(vnd->sc_vp, 0, p);
vnd 971 dev/vnd.c struct vnd_softc *vnd;
vnd 973 dev/vnd.c for (vnd = &vnd_softc[0]; vnd < &vnd_softc[numvnd]; vnd++)
vnd 974 dev/vnd.c if (vnd->sc_flags & VNF_INITED)
vnd 975 dev/vnd.c vndclear(vnd);
vnd 979 dev/vnd.c vndclear(struct vnd_softc *vnd)
vnd 981 dev/vnd.c struct vnode *vp = vnd->sc_vp;
vnd 984 dev/vnd.c DNPRINTF(VDB_FOLLOW, "vndclear(%p): vp %p\n", vnd, vp);
vnd 986 dev/vnd.c vnd->sc_flags &= ~VNF_INITED;
vnd 989 dev/vnd.c (void) vn_close(vp, VNDRW(vnd), vnd->sc_cred, p);
vnd 990 dev/vnd.c crfree(vnd->sc_cred);
vnd 991 dev/vnd.c vnd->sc_vp = NULL;
vnd 992 dev/vnd.c vnd->sc_cred = NULL;
vnd 993 dev/vnd.c vnd->sc_size = 0;
vnd 1000 dev/vnd.c struct vnd_softc *vnd = &vnd_softc[unit];
vnd 1002 dev/vnd.c if (unit >= numvnd || (vnd->sc_flags & VNF_INITED) == 0)
vnd 1004 dev/vnd.c return (vnd->sc_size);
vnd 574 sys/conf.h bdev_decl(vnd);
vnd 575 sys/conf.h cdev_decl(vnd);