diff options
author | Matthew Wilcox (Oracle) <willy@infradead.org> | 2020-08-18 09:05:56 -0400 |
---|---|---|
committer | Matthew Wilcox (Oracle) <willy@infradead.org> | 2020-10-13 08:41:26 -0400 |
commit | f82cd2f0b5eb715b1a296e20b34da7d296b6e9a4 (patch) | |
tree | d932395ef576740b64fc24e9be268fe00ecbc56a /lib/test_xarray.c | |
parent | 8446466c9dd645da4c1848f35ffd0fc1df3524ee (diff) | |
download | linux-f82cd2f0b5eb715b1a296e20b34da7d296b6e9a4.tar.bz2 |
XArray: Add private interface for workingset node deletion
Move the tricky bits of dealing with the XArray from the workingset
code to the XArray. Make it clear in the documentation that this is a
private interface, and only export it for the benefit of the test suite.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Diffstat (limited to 'lib/test_xarray.c')
-rw-r--r-- | lib/test_xarray.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/lib/test_xarray.c b/lib/test_xarray.c index 1122c4453c87..64ae07b1bcf4 100644 --- a/lib/test_xarray.c +++ b/lib/test_xarray.c @@ -1600,14 +1600,9 @@ static noinline void shadow_remove(struct xarray *xa) xa_lock(xa); while ((node = list_first_entry_or_null(&shadow_nodes, struct xa_node, private_list))) { - XA_STATE(xas, node->array, 0); XA_BUG_ON(xa, node->array != xa); list_del_init(&node->private_list); - xas.xa_node = xa_parent_locked(node->array, node); - xas.xa_offset = node->offset; - xas.xa_shift = node->shift + XA_CHUNK_SHIFT; - xas_set_update(&xas, test_update_node); - xas_store(&xas, NULL); + xa_delete_node(node, test_update_node); } xa_unlock(xa); } |