Lines Matching defs:vap

87 ntfs_ntvattrrele(struct ntvattr *vap)
90 vap->va_ip->i_number, vap->va_type);
92 ntfs_ntrele(vap->va_ip);
106 struct ntvattr *vap;
125 LIST_FOREACH(vap, &ip->i_valist, va_list) {
127 vap->va_type, vap->va_vcnstart, vap->va_vcnend);
128 if ((vap->va_type == type) &&
129 (vap->va_vcnstart <= vcn) && (vap->va_vcnend >= vcn) &&
130 (vap->va_namelen == namelen) &&
131 (strncmp(name, vap->va_name, namelen) == 0)) {
132 *vapp = vap;
133 ntfs_ntref(vap->va_ip);
136 if (vap->va_type == NTFS_A_ATTRLIST)
137 *lvapp = vap;
256 struct ntvattr *vap;
275 while ((vap = LIST_FIRST(&oip->i_valist)) != NULL) {
276 LIST_REMOVE(vap, va_list);
277 ntfs_freentvattr(vap);
329 error = ntfs_attrtontvattr(ntmp, &vap, ap);
332 vap->va_ip = ip;
334 LIST_INSERT_HEAD(&ip->i_valist, vap, va_list);
440 struct ntvattr *vap;
472 while ((vap = LIST_FIRST(&ip->i_valist)) != NULL) {
473 LIST_REMOVE(vap, va_list);
474 ntfs_freentvattr(vap);
513 ntfs_freentvattr(struct ntvattr *vap)
515 if (vap->va_flag & NTFS_AF_INRUN) {
516 if (vap->va_vruncn)
517 free(vap->va_vruncn, M_NTFSRUN, 0);
518 if (vap->va_vruncl)
519 free(vap->va_vruncl, M_NTFSRUN, 0);
521 if (vap->va_datap)
522 free(vap->va_datap, M_NTFSRDATA, 0);
524 free(vap, M_NTFSNTVATTR, 0);
536 struct ntvattr *vap;
541 vap = malloc(sizeof(*vap), M_NTFSNTVATTR, M_WAITOK | M_ZERO);
542 vap->va_ip = NULL;
543 vap->va_flag = rap->a_hdr.a_flag;
544 vap->va_type = rap->a_hdr.a_type;
545 vap->va_compression = rap->a_hdr.a_compression;
546 vap->va_index = rap->a_hdr.a_index;
548 DDPRINTF("type: 0x%x, index: %u", vap->va_type, vap->va_index);
550 vap->va_namelen = rap->a_hdr.a_namelen;
554 for (i = 0; i < vap->va_namelen; i++) {
555 vap->va_name[i] = unp[i];
556 DDPRINTF("%c", vap->va_name[i]);
560 if (vap->va_flag & NTFS_AF_INRUN) {
562 vap->va_datalen = rap->a_nr.a_datalen;
563 vap->va_allocated = rap->a_nr.a_allocated;
564 vap->va_vcnstart = rap->a_nr.a_vcnstart;
565 vap->va_vcnend = rap->a_nr.a_vcnend;
566 vap->va_compressalg = rap->a_nr.a_compressalg;
567 error = ntfs_runtovrun(&(vap->va_vruncn), &(vap->va_vruncl),
568 &(vap->va_vruncnt),
571 vap->va_compressalg = 0;
573 vap->va_datalen = rap->a_r.a_datalen;
574 vap->va_allocated = rap->a_r.a_datalen;
575 vap->va_vcnstart = 0;
576 vap->va_vcnend = ntfs_btocn(vap->va_allocated);
577 vap->va_datap = malloc(vap->va_datalen, M_NTFSRDATA, M_WAITOK);
578 memcpy(vap->va_datap, (caddr_t) rap + rap->a_r.a_dataoff,
581 DDPRINTF(", len: %llu", vap->va_datalen);
584 free(vap, M_NTFSNTVATTR, 0);
586 *rvapp = vap;
830 struct ntvattr *vap = NULL; /* Root attribute */
851 error = ntfs_ntvattrget(ntmp, ip, NTFS_A_INDXROOT, "$I30", 0, &vap);
852 if (error || (vap->va_flag & NTFS_AF_INRUN)) {
873 blsize = vap->va_a_iroot->ir_size;
879 rdsize = vap->va_datalen;
1076 if (vap)
1077 ntfs_ntvattrrele(vap);
1130 struct ntvattr *vap = NULL; /* IndexRoot attribute */
1149 error = ntfs_ntvattrget(ntmp, ip, NTFS_A_INDXROOT, "$I30", 0, &vap);
1156 fp->f_dirblsz = vap->va_a_iroot->ir_size;
1157 fp->f_dirblbuf = malloc(MAX(vap->va_datalen,fp->f_dirblsz),
1166 if (vap->va_a_iroot->ir_flag & NTFS_IRFLAG_INDXALLOC) {
1210 rdsize = (attrnum == NTFS_A_INDXROOT) ? vap->va_datalen : blsize;
1272 if (vap)
1273 ntfs_ntvattrrele(vap);
1311 struct ntvattr *vap;
1319 fp->f_attrtype, fp->f_attrname, 0, &vap);
1323 bn = vap->va_allocated;
1324 sz = vap->va_datalen;
1333 ntfs_ntvattrrele(vap);
1345 struct ntvattr *vap, off_t roff, size_t rsize, void *rdata, size_t *initp,
1352 if (vap->va_flag & NTFS_AF_INRUN) {
1360 vap->va_vruncnt);
1367 while (left && (cnt < vap->va_vruncnt)) {
1368 ccn = vap->va_vruncn[cnt];
1369 ccl = vap->va_vruncl[cnt];
1459 error = uiomove(vap->va_datap + roff, rsize, uio);
1461 memcpy(rdata, vap->va_datap + roff, rsize);
1481 struct ntvattr *vap;
1486 ntfs_btocn(off), &vap);
1489 toread = MIN(left, ntfs_cntob(vap->va_vcnend + 1) - off);
1492 vap->va_vcnstart, vap->va_vcnend);
1493 error = ntfs_readntvattr_plain(ntmp, ip, vap,
1494 off - ntfs_cntob(vap->va_vcnstart),
1500 vap->va_vcnstart, vap->va_vcnend);
1501 ntfs_ntvattrrele(vap);
1504 ntfs_ntvattrrele(vap);
1522 struct ntvattr *vap;
1528 error = ntfs_ntvattrget(ntmp, ip, attrnum, attrname, 0, &vap);
1532 if ((roff > vap->va_datalen) ||
1533 (roff + rsize > vap->va_datalen)) {
1535 roff, roff + rsize, vap->va_datalen);
1536 ntfs_ntvattrrele(vap);
1539 if (vap->va_compression && vap->va_compressalg) {
1548 vap->va_compressalg);
1607 ntfs_ntvattrrele(vap);