X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Futils%2Fliblustreapi_layout.c;h=557765d8c41b8f3f8f1cf6d25da94cdf9f289387;hp=015adf563345219e7c2a11fd4aebd948ae091e17;hb=2270ad3c85802d5fcd3cfcbd8bd109991d8d686f;hpb=7a1c0f950f8733c3f44e28a3b96d579797e46e80 diff --git a/lustre/utils/liblustreapi_layout.c b/lustre/utils/liblustreapi_layout.c index 015adf5..557765d 100644 --- a/lustre/utils/liblustreapi_layout.c +++ b/lustre/utils/liblustreapi_layout.c @@ -560,6 +560,7 @@ llapi_layout_to_lum(const struct llapi_layout *layout) goto error; } else { lum = blob; + comp_v1 = (struct lov_comp_md_v1 *)lum; blob = (struct lov_user_md *)((char *)lum + lum_size); lum_size += blob_size; } @@ -611,7 +612,7 @@ llapi_layout_to_lum(const struct llapi_layout *layout) lmm_objects[i].l_ost_idx = comp->llc_objects[i].l_ost_idx; - if (comp_v1 != NULL) { + if (layout->llot_is_composite) { ent = &comp_v1->lcm_entries[ent_idx]; ent->lcme_id = comp->llc_id; ent->lcme_flags = comp->llc_flags; @@ -647,10 +648,12 @@ static void get_parent_dir(const char *path, char *buf, size_t size) strncpy(buf, path, size); p = strrchr(buf, '/'); - if (p != NULL) + if (p != NULL) { *p = '\0'; - else if (size >= 2) + } else if (size >= 2) { strncpy(buf, ".", 2); + buf[size - 1] = '\0'; + } } /** @@ -1769,11 +1772,10 @@ int llapi_layout_comp_del(struct llapi_layout *layout) return -1; } + layout->llot_cur_comp = + list_entry(comp->llc_list.prev, typeof(*comp), llc_list); list_del_init(&comp->llc_list); __llapi_comp_free(comp); - layout->llot_cur_comp = - list_entry(comp->llc_list.prev, typeof(*comp), - llc_list); return 0; }