Lines Matching refs:xfarray
1952 The only code to use these folio lease functions are the xfarray
2001 The ``xfarray`` abstraction presents a linear array for fixed-size records atop
2053 Most users of the xfarray require the ability to iterate the records stored in
2069 For xfarray users that want to iterate a sparse array, the ``xfarray_iter``
2070 function ignores indices in the xfarray that have never been written to by
2092 of the records, so naturally the xfarray must also support sorting the record
2098 The sorting algorithm used in the xfarray is actually a combination of adaptive
2103 To sort records in a reasonably short amount of time, ``xfarray`` takes
2112 There are two key places where the xfarray uses it:
2116 * Loading a small number of xfarray records from potentially disparate parts
2117 of the xfarray into a memory buffer, and sorting the buffer.
2119 In other words, ``xfarray`` uses heapsort to constrain the nested recursion of
2127 The xfarray sort routine tries to avoid picking a bad pivot by sampling nine
2584 2. Append the records to an xfarray in inode order.
2593 5. Use ``xfs_btree_bload`` to write the xfarray records to btree blocks and
2626 ``xfarray_append`` to add the inode btree record to the xfarray.
2627 This xfarray is walked twice during the btree creation step -- once to populate
2630 The number of records for the inode btree is the number of xfarray records,
2632 records are stored in the xfarray.
2670 the xfarray.
2671 Any records owned by ``XFS_RMAP_OWN_COW`` are also added to the xfarray
2679 at the end of the xfarray.
2687 5. Use ``xfs_btree_bload`` to write the xfarray records to btree blocks and
2721 The bag-like structure in this case is a type 2 xfarray as discussed in the
2722 :ref:`xfarray access patterns<xfarray_access_patterns>` section.
2739 Append these records to an xfarray.
2753 6. Use ``xfs_btree_bload`` to write the xfarray records to btree blocks and
2892 2. Append the records to an xfarray.
2900 5. Use ``xfs_btree_bload`` to write the xfarray records to btree blocks and
3636 index implemented with a sparse ``xfarray``, and only writes to the real dquots
3708 filesystem, and per-file link count records are stored in a sparse ``xfarray``
3766 and use an :ref:`in-memory array <xfarray>` to store the gathered observations.
4359 If that succeeds, add the name and value to the staging xfarray and
4362 2. If the memory usage of the xfarray and xfblob exceed a certain amount of
4417 staging xfarray and xblob.
4419 3. If the memory usage of the xfarray and xfblob exceed a certain amount of
4530 an xfblob for storing entry names, and an xfarray for stashing directory
4540 a. Stash an addname entry for this dirent in the xfarray for later.
4550 xfarray for later.
4553 Instead, we stash updates in the xfarray and rely on the scanner thread
4614 an `xfblob<xfblob>` for storing parent pointer names, and an xfarray for
4624 a. Stash an addpptr entry for this parent pointer in the xfblob and xfarray
4635 xfarray for later.
4638 Instead, we stash updates in the xfarray and rely on the scanner thread