Lines Matching refs:vap
99 ntfs_ntvattrrele(struct ntvattr *vap)
102 (unsigned long long)vap->va_ip->i_number, vap->va_type));
103 ntfs_ntrele(vap->va_ip);
116 struct ntvattr *vap;
131 for (vap = ip->i_valist.lh_first; vap; vap = vap->va_list.le_next) {
133 vap->va_type, (long long) vap->va_vcnstart,
134 (long long) vap->va_vcnend));
135 if ((vap->va_type == type) &&
136 (vap->va_vcnstart <= vcn) && (vap->va_vcnend >= vcn) &&
137 (vap->va_namelen == namelen) &&
138 (strncmp(name, vap->va_name, namelen) == 0)) {
139 *vapp = vap;
140 ntfs_ntref(vap->va_ip);
143 if (vap->va_type == NTFS_A_ATTRLIST)
144 *lvapp = vap;
453 struct ntvattr *vap;
479 vap = ip->i_valist.lh_first;
480 LIST_REMOVE(vap,va_list);
481 ntfs_freentvattr(vap);
525 ntfs_freentvattr(struct ntvattr *vap)
527 if (vap->va_flag & NTFS_AF_INRUN) {
528 if (vap->va_vruncn)
529 free(vap->va_vruncn, M_NTFSRUN);
530 if (vap->va_vruncl)
531 free(vap->va_vruncl, M_NTFSRUN);
533 if (vap->va_datap)
534 free(vap->va_datap, M_NTFSRDATA);
536 free(vap, M_NTFSNTVATTR);
548 struct ntvattr *vap;
553 vap = malloc(sizeof(*vap), M_NTFSNTVATTR, M_WAITOK|M_ZERO);
554 vap->va_ip = NULL;
555 vap->va_flag = rap->a_hdr.a_flag;
556 vap->va_type = rap->a_hdr.a_type;
557 vap->va_compression = rap->a_hdr.a_compression;
558 vap->va_index = rap->a_hdr.a_index;
561 vap->va_type, vap->va_index));
563 vap->va_namelen = rap->a_hdr.a_namelen;
567 for (i = 0; i < vap->va_namelen; i++) {
568 vap->va_name[i] = unp[i];
569 ddprintf(("%c", vap->va_name[i]));
573 if (vap->va_flag & NTFS_AF_INRUN) {
575 vap->va_datalen = rap->a_nr.a_datalen;
576 vap->va_allocated = rap->a_nr.a_allocated;
577 vap->va_vcnstart = rap->a_nr.a_vcnstart;
578 vap->va_vcnend = rap->a_nr.a_vcnend;
579 vap->va_compressalg = rap->a_nr.a_compressalg;
580 error = ntfs_runtovrun(&(vap->va_vruncn), &(vap->va_vruncl),
581 &(vap->va_vruncnt),
584 vap->va_compressalg = 0;
586 vap->va_datalen = rap->a_r.a_datalen;
587 vap->va_allocated = rap->a_r.a_datalen;
588 vap->va_vcnstart = 0;
589 vap->va_vcnend = ntfs_btocn(vap->va_allocated);
590 vap->va_datap = malloc(vap->va_datalen, M_NTFSRDATA, M_WAITOK);
591 memcpy(vap->va_datap, (char *)rap + rap->a_r.a_dataoff,
594 ddprintf((", len: %qu", (long long)vap->va_datalen));
597 free(vap, M_NTFSNTVATTR);
599 *rvapp = vap;
771 struct ntvattr *vap = NULL; /* Root attribute */
790 error = ntfs_ntvattrget(ntmp, ip, NTFS_A_INDXROOT, "$I30", 0, &vap);
791 if (error || (vap->va_flag & NTFS_AF_INRUN)) {
812 blsize = vap->va_a_iroot->ir_size;
817 rdsize = vap->va_datalen;
980 if (vap)
981 ntfs_ntvattrrele(vap);
1024 struct ntvattr *vap = NULL; /* IndexRoot attribute */
1044 error = ntfs_ntvattrget(ntmp, ip, NTFS_A_INDXROOT, "$I30", 0, &vap);
1051 fp->f_dirblsz = vap->va_a_iroot->ir_size;
1052 fp->f_dirblbuf = malloc(MAX(vap->va_datalen, fp->f_dirblsz),
1061 if (vap->va_a_iroot->ir_flag & NTFS_IRFLAG_INDXALLOC) {
1105 rdsize = (attrnum == NTFS_A_INDXROOT) ? vap->va_datalen : blsize;
1168 if (vap)
1169 ntfs_ntvattrrele(vap);
1209 struct ntvattr *vap;
1214 ntfs_btocn(off), &vap);
1217 towrite = MIN(left, ntfs_cntob(vap->va_vcnend + 1) - off);
1220 (long long) vap->va_vcnstart,
1221 (long long) vap->va_vcnend));
1222 error = ntfs_writentvattr_plain(ntmp, ip, vap,
1223 off - ntfs_cntob(vap->va_vcnstart),
1230 (long long) vap->va_vcnstart,
1231 (long long) vap->va_vcnend));
1232 ntfs_ntvattrrele(vap);
1235 ntfs_ntvattrrele(vap);
1252 struct ntvattr *vap, off_t roff, size_t rsize, void *rdata, size_t *initp,
1266 if ((vap->va_flag & NTFS_AF_INRUN) == 0) {
1272 vap->va_vruncnt));
1279 for (; left && (cnt < vap->va_vruncnt); cnt++) {
1280 ccn = vap->va_vruncn[cnt];
1281 ccl = vap->va_vruncl[cnt];
1354 struct ntvattr *vap, off_t roff, size_t rsize, void *rdata, size_t *initp,
1361 if (vap->va_flag & NTFS_AF_INRUN) {
1369 vap->va_vruncnt));
1376 while (left && (cnt < vap->va_vruncnt)) {
1377 ccn = vap->va_vruncn[cnt];
1378 ccl = vap->va_vruncl[cnt];
1465 uiomove((char *)vap->va_datap + roff, rsize, uio);
1467 memcpy(rdata, (char *)vap->va_datap + roff, rsize);
1486 struct ntvattr *vap;
1491 ntfs_btocn(off), &vap);
1494 toread = MIN(left, ntfs_cntob(vap->va_vcnend + 1) - off);
1497 (long long) vap->va_vcnstart,
1498 (long long) vap->va_vcnend));
1499 error = ntfs_readntvattr_plain(ntmp, ip, vap,
1500 off - ntfs_cntob(vap->va_vcnstart),
1507 (long long) vap->va_vcnstart,
1508 (long long) vap->va_vcnend);
1509 ntfs_ntvattrrele(vap);
1512 ntfs_ntvattrrele(vap);
1531 struct ntvattr *vap;
1538 error = ntfs_ntvattrget(ntmp, ip, attrnum, attrname, 0, &vap);
1542 if ((roff > vap->va_datalen) ||
1543 (roff + rsize > vap->va_datalen)) {
1546 (long long) vap->va_datalen);
1547 ntfs_ntvattrrele(vap);
1550 if (vap->va_compression && vap->va_compressalg) {
1559 vap->va_compressalg));
1613 ntfs_ntvattrrele(vap);