Whamcloud - gitweb
EX-7601 lov: refactor lov_io_lsme_at
authorPatrick Farrell <pfarrell@whamcloud.com>
Wed, 28 Jun 2023 18:29:50 +0000 (14:29 -0400)
committerAndreas Dilger <adilger@whamcloud.com>
Mon, 28 Aug 2023 16:19:59 +0000 (16:19 +0000)
lov_io_lsme_at needs some minor changes to be called from
lov_io_slice_init().

Test-Parameters: trivial
Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: I0611d66052e22d349932eb26257369e07b9b8167
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51495
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
lustre/lov/lov_io.c

index 15f1690..206e8d1 100644 (file)
@@ -1119,21 +1119,16 @@ static int lov_io_lock(const struct lu_env *env, const struct cl_io_slice *ios)
 /**
  * Return lsme by file offset (only used for compression)
  */
-static struct lov_stripe_md_entry *lov_io_lsme_at(const struct lu_env *env,
-                                                 const struct cl_io_slice *ios,
+static struct lov_stripe_md_entry *lov_io_lsme_at(const struct lov_io *lio,
                                                  const pgoff_t page_index)
 {
-       loff_t offset;
-       struct cl_fault_io *fio;
-       struct lov_io *lio = cl2lov_io(env, ios);
+       loff_t offset = page_index << PAGE_SHIFT;
        struct lov_object *lov = lio->lis_object;
        struct lov_layout_composite *comp = &lov->u.composite;
        int start_index = 0;
        int end_index = comp->lo_entry_count - 1;
        int i;
 
-       fio = &ios->cis_io->u.ci_fault;
-       offset = cl_offset(ios->cis_obj, page_index);
        LASSERT(lov->lo_type == LLT_COMP);
 
        /* This is actual file offset so nothing can cover eof. */
@@ -1483,7 +1478,7 @@ static int lov_io_submit(const struct lu_env *env,
                struct cl_2queue  *cl2q = &lov_env_info(env)->lti_cl2q;
 
                page = cl_page_list_first(qin);
-               lsme = lov_io_lsme_at(env, ios, page->cp_page_index);
+               lsme = lov_io_lsme_at(lio, page->cp_page_index);
                set_page_compression(page, lsme);
 
                if (lov_page_is_empty(page)) {
@@ -1553,7 +1548,7 @@ static int lov_io_commit_async(const struct lu_env *env,
        ENTRY;
 
        page = cl_page_list_first(queue);
-       lsme = lov_io_lsme_at(env, ios, page->cp_page_index);
+       lsme = lov_io_lsme_at(lio, page->cp_page_index);
 
        if (lio->lis_nr_subios == 1) {
                int idx = lio->lis_single_subio_index;
@@ -1584,7 +1579,7 @@ static int lov_io_commit_async(const struct lu_env *env,
                LASSERT(!lov_page_is_empty(page));
 
                cl_page_list_move(plist, queue, page);
-               lsme = lov_io_lsme_at(env, ios, page->cp_page_index);
+               lsme = lov_io_lsme_at(lio, page->cp_page_index);
                set_page_compression(page, lsme);
 
                index = page->cp_lov_index;
@@ -1594,7 +1589,7 @@ static int lov_io_commit_async(const struct lu_env *env,
                                break;
 
                        cl_page_list_move(plist, queue, page);
-                       lsme = lov_io_lsme_at(env, ios, page->cp_page_index);
+                       lsme = lov_io_lsme_at(lio, page->cp_page_index);
                        set_page_compression(page, lsme);
                }