Lines Matching refs:b
480 struct vboxsf_dir_buf *b; in vboxsf_dir_buf_alloc() local
482 b = kmalloc(sizeof(*b), GFP_KERNEL); in vboxsf_dir_buf_alloc()
483 if (!b) in vboxsf_dir_buf_alloc()
486 b->buf = kmalloc(DIR_BUFFER_SIZE, GFP_KERNEL); in vboxsf_dir_buf_alloc()
487 if (!b->buf) { in vboxsf_dir_buf_alloc()
488 kfree(b); in vboxsf_dir_buf_alloc()
492 b->entries = 0; in vboxsf_dir_buf_alloc()
493 b->used = 0; in vboxsf_dir_buf_alloc()
494 b->free = DIR_BUFFER_SIZE; in vboxsf_dir_buf_alloc()
495 list_add(&b->head, list); in vboxsf_dir_buf_alloc()
497 return b; in vboxsf_dir_buf_alloc()
500 static void vboxsf_dir_buf_free(struct vboxsf_dir_buf *b) in vboxsf_dir_buf_free() argument
502 list_del(&b->head); in vboxsf_dir_buf_free()
503 kfree(b->buf); in vboxsf_dir_buf_free()
504 kfree(b); in vboxsf_dir_buf_free()
525 struct vboxsf_dir_buf *b; in vboxsf_dir_info_free() local
527 b = list_entry(pos, struct vboxsf_dir_buf, head); in vboxsf_dir_info_free()
528 vboxsf_dir_buf_free(b); in vboxsf_dir_info_free()
536 struct vboxsf_dir_buf *b; in vboxsf_dir_read_all() local
543 b = vboxsf_dir_buf_alloc(&sf_d->info_list); in vboxsf_dir_read_all()
544 if (!b) { in vboxsf_dir_read_all()
549 buf = b->buf; in vboxsf_dir_read_all()
550 size = b->free; in vboxsf_dir_read_all()
557 b->entries += entries; in vboxsf_dir_read_all()
558 b->free -= size; in vboxsf_dir_read_all()
559 b->used += size; in vboxsf_dir_read_all()
562 if (b && b->used == 0) in vboxsf_dir_read_all()
563 vboxsf_dir_buf_free(b); in vboxsf_dir_read_all()