Whamcloud - gitweb
LU-13814 clio: remove discard for transient pages 81/52081/22
authorPatrick Farrell <paf0187@gmail.com>
Wed, 29 May 2024 15:16:39 +0000 (11:16 -0400)
committerOleg Drokin <green@whamcloud.com>
Wed, 31 Jul 2024 15:56:06 +0000 (15:56 +0000)
With cl_page_delete removed for transient pages, now
cl_page_discard doesn't do anything for transient pages.

Remove it.

Signed-off-by: Patrick Farrell <patrick.farrell@oracle.com>
Change-Id: Ib62e8a5aea71669428b7b61ba989867702bf1758
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52081
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
lustre/llite/rw26.c
lustre/obdclass/cl_page.c

index 5a5f6fc..72851ae 100644 (file)
@@ -451,7 +451,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);
index 350e087..c496b6c 100644 (file)
@@ -761,21 +761,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_folio(vmpage->mapping, page_folio(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_folio(vmpage->mapping, page_folio(vmpage));
 }
 EXPORT_SYMBOL(cl_page_discard);