From 7a9e96776251e73a54006672f2c703b5a73be958 Mon Sep 17 00:00:00 2001 From: Patrick Farrell Date: Thu, 24 Aug 2023 10:36:57 -0400 Subject: [PATCH] LU-13814 osc: specialize osc_page_delete Nearly all of osc_page_delete is only done for cacheable pages, so make that explicit. Test-Parameters: forjanitoronly Test-Parameters: fortestonly Signed-off-by: Patrick Farrell Change-Id: I998fc196c276aa97829f5b368e23aa4b7a797294 --- lustre/osc/osc_page.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/lustre/osc/osc_page.c b/lustre/osc/osc_page.c index f5b7def..7414ea4 100644 --- a/lustre/osc/osc_page.c +++ b/lustre/osc/osc_page.c @@ -170,18 +170,19 @@ static void osc_page_delete(const struct lu_env *env, ENTRY; CDEBUG(D_TRACE, "%p\n", opg); osc_page_transfer_put(env, opg); - rc = osc_teardown_async_page(env, obj, opg); - if (rc) { - CL_PAGE_DEBUG(D_ERROR, env, slice->cpl_page, - "Trying to teardown failed: %d\n", rc); - LASSERT(0); - } - - osc_lru_del(osc_cli(obj), opg); if (slice->cpl_page->cp_type == CPT_CACHEABLE) { void *value = NULL; + rc = osc_teardown_async_page(env, obj, opg); + if (rc) { + CL_PAGE_DEBUG(D_ERROR, env, slice->cpl_page, + "Trying to teardown failed: %d\n", rc); + LASSERT(0); + } + + osc_lru_del(osc_cli(obj), opg); + spin_lock(&obj->oo_tree_lock); if (opg->ops_intree) { value = radix_tree_delete(&obj->oo_tree, -- 1.8.3.1