LASSERT(lo->ldo_comp_cnt > comp_idx && lo->ldo_comp_entries != NULL);
lod_comp = &lo->ldo_comp_entries[comp_idx];
LASSERT(lod_comp->llc_ostlist.op_array);
+ LASSERT(lod_comp->llc_ostlist.op_count);
rc = lod_qos_ost_in_use_clear(env, lod_comp->llc_stripe_count);
if (rc < 0)
if (mo->ldo_is_composite) {
offs = le32_to_cpu(comp_v1->lcm_entries[i].lcme_offset);
v1 = (struct lov_mds_md_v1 *)((char *)comp_v1 + offs);
+ v3 = (struct lov_mds_md_v3 *)v1;
magic = le32_to_cpu(v1->lmm_magic);
ext = &comp_v1->lcm_entries[i].lcme_extent;
lod_comp->llc_extent.e_end = le64_to_cpu(ext->e_end);
lod_comp->llc_flags =
le32_to_cpu(comp_v1->lcm_entries[i].lcme_flags);
+ if (lod_comp->llc_flags & LCME_FL_NOSYNC)
+ lod_comp->llc_timestamp = le64_to_cpu(
+ comp_v1->lcm_entries[i].lcme_timestamp);
lod_comp->llc_id =
le32_to_cpu(comp_v1->lcm_entries[i].lcme_id);
if (lod_comp->llc_id == LCME_ID_INVAL)
CDEBUG(D_OTHER, "tgt_count %d stripe_count %d\n",
d->lod_desc.ld_tgt_count, stripe_len);
- if (lod_comp->llc_ostlist.op_array) {
+ if (lod_comp->llc_ostlist.op_array &&
+ lod_comp->llc_ostlist.op_count) {
rc = lod_alloc_ost_list(env, lo, stripe, ost_indices,
th, comp_idx);
} else if (lod_comp->llc_stripe_offset == LOV_OFFSET_DEFAULT) {