Lines Matching defs:data
217 __cold static int io_rsrc_ref_quiesce(struct io_rsrc_data *data,
225 if (data->quiesce)
246 data->quiesce = true;
266 data->quiesce = false;
285 static void io_rsrc_data_free(struct io_rsrc_data *data)
287 size_t size = data->nr * sizeof(data->tags[0][0]);
289 if (data->tags)
290 io_free_page_table((void **)data->tags, size);
291 kfree(data);
321 struct io_rsrc_data *data;
325 data = kzalloc(sizeof(*data), GFP_KERNEL);
326 if (!data)
328 data->tags = (u64 **)io_alloc_page_table(nr * sizeof(data->tags[0][0]));
329 if (!data->tags) {
330 kfree(data);
334 data->nr = nr;
335 data->ctx = ctx;
336 data->rsrc_type = type;
340 u64 *tag_slot = io_get_tag_slot(data, i);
347 *pdata = data;
350 io_rsrc_data_free(data);
359 __s32 __user *fds = u64_to_user_ptr(up->data);
360 struct io_rsrc_data *data = ctx->file_data;
389 err = io_queue_rsrc_removal(data, i,
411 *io_get_tag_slot(data, i) = tag;
424 struct iovec iov, __user *iovs = u64_to_user_ptr(up->data);
541 if (rr.flags & IORING_RSRC_REGISTER_SPARSE && rr.data)
543 return io_sqe_files_register(ctx, u64_to_user_ptr(rr.data),
546 if (rr.flags & IORING_RSRC_REGISTER_SPARSE && rr.data)
548 return io_sqe_buffers_register(ctx, u64_to_user_ptr(rr.data),
618 up2.data = up->arg;
639 int io_queue_rsrc_removal(struct io_rsrc_data *data, unsigned idx, void *rsrc)
641 struct io_ring_ctx *ctx = data->ctx;
643 u64 *tag_slot = io_get_tag_slot(data, idx);
652 node->type = data->rsrc_type;
1012 struct io_rsrc_data *data;
1022 ret = io_rsrc_data_alloc(ctx, IORING_RSRC_BUFFER, tags, nr_args, &data);
1027 io_rsrc_data_free(data);
1043 if (!iov.iov_base && *io_get_tag_slot(data, i)) {
1056 ctx->buf_data = data;