XArray update for 5.18:
- Documentation update - Fix test-suite build after move of bitmap.h - Fix xas_create_range() when a large entry is already present - Fix xas_split() of a shadow entry -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEejHryeLBw/spnjHrDpNsjXcpgj4FAmJHBfoACgkQDpNsjXcp gj4eGggAlBsHZCBDT1wY45hQjaZA+GlI1Q7M8/x+MkaK3CN6O3FMdNcbUx/KVkMJ YItwoh9X5VywsMD4ASxPqT/3t2lJFV7ldNvwQpLr1eVSP34XsVxprYDgT09a/CXS JEwLoyy18FMCZJTWPdszGvazrtAaQmvEMwcz3Y9km93qVx5o+dvninGsKWfOuu+O b/+VIv0wHG0RfsXVrC10BfzMlqe50YMrLOWVrb66+XDdjtITeZ2M7PXRtsa5iOtG TDFzngSrOl59gqqhvDrhZOHY2S+wJnuCaXiG6w6rBLDRucZ5p2x4WWYeqtZGQlDk nLi6wMAp3fTt6+JlbXPtT01RHWZEyw== =xrXd -----END PGP SIGNATURE----- Merge tag 'xarray-5.18' of git://git.infradead.org/users/willy/xarray Pull XArray updates from Matthew Wilcox: - Documentation update - Fix test-suite build after move of bitmap.h - Fix xas_create_range() when a large entry is already present - Fix xas_split() of a shadow entry * tag 'xarray-5.18' of git://git.infradead.org/users/willy/xarray: XArray: Update the LRU list in xas_split() XArray: Fix xas_create_range() when multi-order entry present XArray: Include bitmap.h from xarray.h XArray: Document the locking requirement for the xa_state
This commit is contained in:
commit
5a3fe95d76
4 changed files with 36 additions and 5 deletions
|
|
@ -722,6 +722,8 @@ void xas_create_range(struct xa_state *xas)
|
|||
|
||||
for (;;) {
|
||||
struct xa_node *node = xas->xa_node;
|
||||
if (node->shift >= shift)
|
||||
break;
|
||||
xas->xa_node = xa_parent_locked(xas->xa, node);
|
||||
xas->xa_offset = node->offset - 1;
|
||||
if (node->offset != 0)
|
||||
|
|
@ -1079,6 +1081,7 @@ void xas_split(struct xa_state *xas, void *entry, unsigned int order)
|
|||
xa_mk_node(child));
|
||||
if (xa_is_value(curr))
|
||||
values--;
|
||||
xas_update(xas, child);
|
||||
} else {
|
||||
unsigned int canon = offset - xas->xa_sibs;
|
||||
|
||||
|
|
@ -1093,6 +1096,7 @@ void xas_split(struct xa_state *xas, void *entry, unsigned int order)
|
|||
} while (offset-- > xas->xa_offset);
|
||||
|
||||
node->nr_values += values;
|
||||
xas_update(xas, node);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(xas_split);
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue