Whamcloud - gitweb
LU-18461 lod: let's remove home coded lu_buf code. 88/57188/8
authorAlexey Lyashkov <alexey.lyashkov@hpe.com>
Wed, 20 Nov 2024 08:46:40 +0000 (11:46 +0300)
committerOleg Drokin <green@whamcloud.com>
Sat, 7 Jun 2025 22:55:04 +0000 (22:55 +0000)
lti_ea_store and lti_ea_store_size is same is lu_buf,
lets drop code duplication.

Test-Parameters: trivial
Signed-off-by: Alexey Lyashkov <alexey.lyashkov@hpe.com>
Change-Id: I3a61382e53a848c94654bc4c55b7ac0c97758dbb
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57188
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
lustre/lod/lod_object.c

index aa11bae..26e9db7 100644 (file)
@@ -3301,9 +3301,9 @@ unlock:
  *
  * Returns 0 on success, <0 on failure
  */
-static int lod_layout_convert(struct lod_thread_info *info)
+static int lod_layout_convert(struct lu_buf *buf)
 {
-       struct lov_mds_md *lmm = info->lti_ea_buf.lb_buf;
+       struct lov_mds_md *lmm = buf->lb_buf;
        struct lov_mds_md *lmm_save;
        struct lov_comp_md_v1 *lcm;
        struct lov_comp_md_entry_v1 *lcme;
@@ -3323,13 +3323,11 @@ static int lod_layout_convert(struct lod_thread_info *info)
 
        memcpy(lmm_save, lmm, blob_size);
 
-       if (info->lti_ea_store_size < size) {
-               rc = lod_ea_store_resize(info, size);
-               if (rc)
-                       GOTO(out, rc);
-       }
+       lu_buf_check_and_alloc(buf, size_roundup_power2(size));
+       if (buf->lb_buf == NULL)
+               GOTO(out, rc = -ENOMEM);
 
-       lcm = info->lti_ea_buf.lb_buf;
+       lcm = buf->lb_buf;
        memset(lcm, 0, sizeof(*lcm) + sizeof(*lcme));
        lcm->lcm_magic = cpu_to_le32(LOV_MAGIC_COMP_V1);
        lcm->lcm_size = cpu_to_le32(size);
@@ -3406,7 +3404,7 @@ static int lod_declare_layout_merge(const struct lu_env *env,
        switch (le32_to_cpu(cur_lcm->lcm_magic)) {
        case LOV_MAGIC_V1:
        case LOV_MAGIC_V3:
-               rc = lod_layout_convert(info);
+               rc = lod_layout_convert(&info->lti_ea_buf);
                break;
        case LOV_MAGIC_COMP_V1:
        case LOV_MAGIC_SEL:
@@ -3418,7 +3416,7 @@ static int lod_declare_layout_merge(const struct lu_env *env,
        if (rc)
                RETURN(rc);
 
-       /* info->lti_ea_store could be reallocated in lod_layout_convert() */
+       /* info->lti_ea_buf could be reallocated in lod_layout_convert() */
        cur_lcm = info->lti_ea_buf.lb_buf;
        cur_entry_count = le16_to_cpu(cur_lcm->lcm_entry_count);