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;
}
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;
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';
+ }
}
/**
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;
}