From: Patrick Farrell Date: Sun, 17 Sep 2023 18:10:23 +0000 (-0400) Subject: LU-13814 clio: remove discard for transient pages X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=456bfe8a8b8a1184a7075411b9ccdacde03e4777;p=fs%2Flustre-release.git LU-13814 clio: remove discard for transient pages With cl_page_delete removed for transient pages, now cl_page_discard doesn't do anything for transient pages. Remove it. Test-Parameters: forjanitoronly Test-Parameters: fortestonly Signed-off-by: Patrick Farrell Change-Id: Ib62e8a5aea71669428b7b61ba989867702bf1758 --- diff --git a/lustre/llite/rw26.c b/lustre/llite/rw26.c index 61681c0..9ab2aa7 100644 --- a/lustre/llite/rw26.c +++ b/lustre/llite/rw26.c @@ -449,7 +449,6 @@ ll_direct_rw_pages(const struct lu_env *env, struct cl_io *io, size_t size, } out: - cl_2queue_discard(env, io, queue); cl_2queue_disown(env, queue); cl_2queue_fini(env, queue); RETURN(rc); diff --git a/lustre/obdclass/cl_page.c b/lustre/obdclass/cl_page.c index c373ce3..0670699 100644 --- a/lustre/obdclass/cl_page.c +++ b/lustre/obdclass/cl_page.c @@ -787,21 +787,19 @@ void cl_page_discard(const struct lu_env *env, const struct cl_page_slice *slice; int i; + LASSERT(cp->cp_type != CPT_TRANSIENT); + cl_page_slice_for_each(cp, slice, i) { if (slice->cpl_ops->cpo_discard != NULL) (*slice->cpl_ops->cpo_discard)(env, slice, io); } - if (cp->cp_type == CPT_CACHEABLE) { - PINVRNT(env, cp, cl_page_is_owned(cp, io)); - PINVRNT(env, cp, cl_page_invariant(cp)); - vmpage = cp->cp_vmpage; - LASSERT(vmpage != NULL); - LASSERT(PageLocked(vmpage)); - generic_error_remove_page(vmpage->mapping, vmpage); - } else { - cl_page_delete(env, cp); - } + PINVRNT(env, cp, cl_page_is_owned(cp, io)); + PINVRNT(env, cp, cl_page_invariant(cp)); + vmpage = cp->cp_vmpage; + LASSERT(vmpage != NULL); + LASSERT(PageLocked(vmpage)); + generic_error_remove_page(vmpage->mapping, vmpage); } EXPORT_SYMBOL(cl_page_discard);