Lines Matching defs:xfile

10 #include "scrub/xfile.h"
19 * This memory array uses an xfile (which itself is a memfd "file") to store
32 * Pointer to scratch space. Because we can't access the xfile data directly,
41 /* Compute array index given an xfile offset. */
53 /* Compute xfile offset of array element. */
77 struct xfile *xfile;
82 error = xfile_create(description, 0, &xfile);
91 array->xfile = xfile;
116 xfile_destroy(xfile);
125 xfile_destroy(array->xfile);
139 return xfile_obj_load(array->xfile, ptr, array->obj_size,
155 error = xfile_obj_load(array->xfile, temp, array->obj_size, pos);
187 error = xfile_obj_store(array->xfile, temp, array->obj_size, pos);
212 ret = xfile_obj_store(array->xfile, ptr, array->obj_size,
248 error = xfile_obj_load(array->xfile, temp, array->obj_size,
253 error = xfile_obj_store(array->xfile, ptr, array->obj_size,
278 * the backing xfile. Returns ENODATA if we reach the end of the records.
280 * Reading from a hole in a sparse xfile causes page instantiation, so for
313 new_pos = xfile_seek_data(array->xfile, end_pos);
539 * need not be contiguous in the xfile's memory pages.
555 error = xfile_obj_load(si->array->xfile, scratch, len, lo_pos);
563 return xfile_obj_store(si->array->xfile, scratch, len, lo_pos);
575 error = xfile_get_page(si->array->xfile, pos, len, &si->xfpage);
580 * xfile pages must never be mapped into userspace, so we skip the
598 return xfile_put_page(si->array->xfile, &si->xfpage);
861 return xfile_obj_load(si->array->xfile, ptr,
914 * If a small set is contained entirely within a single xfile memory page,
915 * map the page directly and run heap sort directly on the xfile page
919 * and hi after selecting a pivot, we will try to retain the xfile memory