Lines Matching refs:xfile

1878 Hence, the ``xfile`` was born!
1894 xfile Access Models
1911 To support the first four use cases, high level data structures wrap the xfile
1913 The rest of this section discusses the interfaces that the xfile presents to
1921 functions are provided to read and persist objects into an xfile that treat any
1933 pinned nor locked, which means the xfile must not pin too many folios.
1935 Short term direct access to xfile contents is done by locking the pagecache
1938 long term direct access to xfile contents is done by bumping the folio refcount,
1944 retrieve the (locked) folio that backs part of an xfile and to release it.
1949 xfile Access Coordination
1959 xfile writers call the ``->write_begin`` and ``->write_end`` functions of the
1960 xfile's address space to grab writable pages, copy the caller's buffer into the
1962 xfile readers call ``shmem_read_mapping_page_gfp`` to grab pages directly
1969 If an xfile is shared between threads to stage repairs, the caller must provide
1971 For example, if a scrub function stores scan results in an xfile and needs
1991 methods of the xfile directly, it is simpler for callers for there to be a
1995 the byte-accessible xfile.
2012 ``xfarray_store`` functions, which wrap the similarly-named xfile functions to
2107 * Sorting any record subset backed by a single xfile page.
2129 As stated previously, however, xfile accesses are not entirely cheap.
2144 keeps examined xfile pages mapped in the kernel for as long as possible to
2147 accounting for the application of heapsort directly onto xfile pages.
2160 atop an xfile.
2208 Recall that the :ref:`xfile <xfile>` abstraction represents memory pages as a
2214 Btrees built atop an xfile are collectively known as ``xfbtrees``.
2230 pages from the xfile and "write" cached pages back to the xfile.
2232 since the xfile does not provide any locking on its own.
2233 With this adaptation in place, users of the xfile-backed buffer cache use
2235 The separation between xfile and buffer cache implies higher memory usage since
2243 Space management for an xfile is very simple -- each btree block is one memory
2246 block verifiers ignore the checksums, assuming that xfile memory is no more
2250 The very first block of an xfile backing an xfbtree contains a header block.
2255 If there are no gaps, create one by extending the length of the xfile.
2259 ``FALLOC_FL_PUNCH_HOLE``) to remove the memory page from the xfile.
2267 1. Call ``xfile_create`` to create an xfile.
2270 pointing to the xfile.
2274 initial root block to the xfile.
2293 buffer target, and the destroy the xfile to release all resources.
2304 by an xfile because the log format does not understand updates for devices
2311 backing xfile before committing or cancelling the transaction.
2316 1. Find each buffer log item whose buffer targets the xfile.
2327 6. Submit the delwri list to commit the changes to the xfile, if the updates
2330 After removing xfile logged buffers from the transaction in this manner, the
3800 xfbtree changes to the xfile.
3811 xfbtree changes to the xfile.
3965 temporary file from an xfile.
4316 b. Read the counter from the xfile.
4318 c. Increment it, and write it back to the xfile.
4320 3. Compare the contents of the xfile against the ondisk file.
4322 To repair the summary file, write the xfile contents into the temporary file