Lines Matching defs:priv_user
126 get_file_offset(struct per_user_data *priv_user, uint32_t count,
133 mtx_lock(&priv_user->user_data_lock);
134 RB_FOREACH_SAFE(offset, file_offset_head, &priv_user->file_offset,
142 &priv_user->file_offset, offset);
145 mtx_unlock(&priv_user->user_data_lock);
149 mtx_unlock(&priv_user->user_data_lock);
155 put_file_offset(struct per_user_data *priv_user, uint32_t count,
164 mtx_lock(&priv_user->user_data_lock);
165 RB_INSERT(file_offset_head, &priv_user->file_offset, offset);
166 offset_nxt = RB_NEXT(file_offset_head, &priv_user->file_offset, offset);
167 offset_prv = RB_PREV(file_offset_head, &priv_user->file_offset, offset);
172 RB_REMOVE(file_offset_head, &priv_user->file_offset,
180 RB_REMOVE(file_offset_head, &priv_user->file_offset, offset);
183 mtx_unlock(&priv_user->user_data_lock);
308 gntdev_find_grefs(struct per_user_data *priv_user,
315 mtx_lock(&priv_user->user_data_lock);
316 gref_start = RB_FIND(gref_tree_head, &priv_user->gref_tree, &find_gref);
318 RB_NEXT(gref_tree_head, &priv_user->gref_tree, gref)) {
324 mtx_unlock(&priv_user->user_data_lock);
345 struct per_user_data *priv_user;
349 error = devfs_get_cdevpriv((void**) &priv_user);
357 error = get_file_offset(priv_user, arg->count, &file_offset);
412 mtx_lock(&priv_user->user_data_lock);
414 RB_INSERT(gref_tree_head, &priv_user->gref_tree, &grefs[i]);
415 mtx_unlock(&priv_user->user_data_lock);
432 struct per_user_data *priv_user;
434 error = devfs_get_cdevpriv((void**) &priv_user);
438 gref = gntdev_find_grefs(priv_user, arg->index, arg->count);
446 mtx_lock(&priv_user->user_data_lock);
449 gref_tmp = RB_NEXT(gref_tree_head, &priv_user->gref_tree, gref);
450 RB_REMOVE(gref_tree_head, &priv_user->gref_tree, gref);
456 mtx_unlock(&priv_user->user_data_lock);
459 put_file_offset(priv_user, arg->count, arg->index);
539 gntdev_find_gmap(struct per_user_data *priv_user,
546 mtx_lock(&priv_user->user_data_lock);
547 gmap = RB_FIND(gmap_tree_head, &priv_user->gmap_tree, &find_gmap);
548 mtx_unlock(&priv_user->user_data_lock);
632 struct per_user_data *priv_user;
634 error = devfs_get_cdevpriv((void**) &priv_user);
659 error = get_file_offset(priv_user, arg->count, &gmap->file_index);
666 mtx_lock(&priv_user->user_data_lock);
667 RB_INSERT(gmap_tree_head, &priv_user->gmap_tree, gmap);
668 mtx_unlock(&priv_user->user_data_lock);
687 struct per_user_data *priv_user;
689 error = devfs_get_cdevpriv((void**) &priv_user);
693 gmap = gntdev_find_gmap(priv_user, arg->index, arg->count);
699 mtx_lock(&priv_user->user_data_lock);
701 RB_REMOVE(gmap_tree_head, &priv_user->gmap_tree, gmap);
704 mtx_unlock(&priv_user->user_data_lock);
710 put_file_offset(priv_user, arg->count, arg->index);
885 struct per_user_data *priv_user;
889 error = devfs_get_cdevpriv((void**) &priv_user);
897 gref = gntdev_find_grefs(priv_user, index, 1);
906 mtx_lock(&priv_user->user_data_lock);
907 RB_FOREACH(gmap, gmap_tree_head, &priv_user->gmap_tree) {
917 mtx_unlock(&priv_user->user_data_lock);
938 struct per_user_data *priv_user;
940 priv_user = (struct per_user_data *) arg;
942 mtx_lock(&priv_user->user_data_lock);
945 RB_FOREACH_SAFE(gref, gref_tree_head, &priv_user->gref_tree, gref_tmp) {
946 RB_REMOVE(gref_tree_head, &priv_user->gref_tree, gref);
953 RB_FOREACH_SAFE(gmap, gmap_tree_head, &priv_user->gmap_tree, gmap_tmp) {
954 RB_REMOVE(gmap_tree_head, &priv_user->gmap_tree, gmap);
962 RB_FOREACH_SAFE(offset, file_offset_head, &priv_user->file_offset,
964 RB_REMOVE(file_offset_head, &priv_user->file_offset, offset);
968 mtx_unlock(&priv_user->user_data_lock);
972 mtx_destroy(&priv_user->user_data_lock);
973 free(priv_user, M_GNTDEV);
980 struct per_user_data *priv_user;
983 priv_user = malloc(sizeof(*priv_user), M_GNTDEV, M_WAITOK | M_ZERO);
984 RB_INIT(&priv_user->gref_tree);
985 RB_INIT(&priv_user->gmap_tree);
986 RB_INIT(&priv_user->file_offset);
990 RB_INSERT(file_offset_head, &priv_user->file_offset, offset);
991 mtx_init(&priv_user->user_data_lock,
994 error = devfs_set_cdevpriv(priv_user, per_user_data_dtor);
996 per_user_data_dtor(priv_user);
1046 mmap_gref(struct per_user_data *priv_user, struct gntdev_gref *gref_start,
1057 mtx_lock(&priv_user->user_data_lock);
1060 RB_NEXT(gref_tree_head, &priv_user->gref_tree, gref)) {
1070 mtx_unlock(&priv_user->user_data_lock);
1087 mmap_gmap(struct per_user_data *priv_user, struct gntdev_gmap *gmap_start,
1199 struct per_user_data *priv_user;
1201 error = devfs_get_cdevpriv((void**) &priv_user);
1207 gref_start = gntdev_find_grefs(priv_user, *offset, count);
1209 error = mmap_gref(priv_user, gref_start, count, size, object);
1213 gmap_start = gntdev_find_gmap(priv_user, *offset, count);
1215 error = mmap_gmap(priv_user, gmap_start, offset, size, object,