Lines Matching refs:faf

140 file_getdata(struct fileassoc_file *faf, const struct fileassoc *assoc)
143 return specificdata_getspecific(fileassoc_domain, &faf->faf_data,
148 file_setdata(struct fileassoc_file *faf, const struct fileassoc *assoc,
152 specificdata_setspecific(fileassoc_domain, &faf->faf_data,
157 file_cleanup(struct fileassoc_file *faf, const struct fileassoc *assoc)
166 data = file_getdata(faf, assoc);
171 file_free(struct fileassoc_file *faf)
175 LIST_REMOVE(faf, faf_list);
178 file_cleanup(faf, assoc);
181 vfs_composefh_free(faf->faf_handle);
182 specificdata_fini(fileassoc_domain, &faf->faf_data);
183 kmem_free(faf, sizeof(*faf));
194 struct fileassoc_file *faf;
196 while ((faf = LIST_FIRST(&tbl->tbl_hash[i])) != NULL) {
197 file_free(faf);
300 struct fileassoc_file *faf;
321 LIST_FOREACH(faf, hash_entry, faf_list) {
322 if (((FHANDLE_FILEID(faf->faf_handle)->fid_len ==
324 (memcmp(FHANDLE_FILEID(faf->faf_handle), FHANDLE_FILEID(th),
333 return faf;
342 struct fileassoc_file *faf;
344 faf = fileassoc_file_lookup(vp, NULL);
345 if (faf == NULL)
348 return file_getdata(faf, assoc);
373 struct fileassoc_file *faf;
375 while ((faf = LIST_FIRST(&tbl->tbl_hash[i])) != NULL) {
379 LIST_REMOVE(faf, faf_list);
381 indx = FILEASSOC_HASH(newtbl, faf->faf_handle);
384 LIST_INSERT_HEAD(hash_entry, faf, faf_list);
461 struct fileassoc_file *faf;
463 LIST_FOREACH(faf, &tbl->tbl_hash[i], faf_list) {
466 data = file_getdata(faf, assoc);
489 struct fileassoc_file *faf;
491 LIST_FOREACH(faf, &tbl->tbl_hash[i], faf_list) {
492 file_cleanup(faf, assoc);
493 file_setdata(faf, assoc, NULL);
494 /* XXX missing faf->faf_nassocs--? */
510 struct fileassoc_file *faf;
522 faf = fileassoc_file_lookup(vp, th);
523 if (faf != NULL) {
527 return (faf);
538 faf = kmem_zalloc(sizeof(*faf), KM_SLEEP);
539 faf->faf_handle = th;
540 specificdata_init(fileassoc_domain, &faf->faf_data);
541 LIST_INSERT_HEAD(hash_entry, faf, faf_list);
557 return (faf);
567 struct fileassoc_file *faf;
574 faf = fileassoc_file_lookup(vp, NULL);
575 if (faf == NULL) {
580 file_free(faf);
597 struct fileassoc_file *faf;
600 faf = fileassoc_file_lookup(vp, NULL);
601 if (faf == NULL) {
602 faf = fileassoc_file_add(vp, NULL);
603 if (faf == NULL)
607 olddata = file_getdata(faf, assoc);
613 file_setdata(faf, assoc, data);
615 faf->faf_nassocs++;
626 struct fileassoc_file *faf;
628 faf = fileassoc_file_lookup(vp, NULL);
629 if (faf == NULL)
632 file_cleanup(faf, assoc);
633 file_setdata(faf, assoc, NULL);
635 --(faf->faf_nassocs); /* XXX gc? */