Skip to content

Commit

Permalink
DAOS-16639 object: fix assertion (#15329) (#15485)
Browse files Browse the repository at this point in the history
Invalid hole extent might be left by process_hole_ult(),
so let's skip it.

Signed-off-by: Di Wang <ddiwang@google.com>
  • Loading branch information
wangdi1 authored Nov 11, 2024
1 parent f4c4ac2 commit 401dcde
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion src/object/srv_ec_aggregate.c
Original file line number Diff line number Diff line change
Expand Up @@ -1010,7 +1010,14 @@ agg_diff_preprocess(struct ec_agg_entry *entry, unsigned char *diff,
hole_off = 0;
d_list_for_each_entry(extent, &entry->ae_cur_stripe.as_dextents,
ae_link) {
D_ASSERT(!extent->ae_hole);
if (extent->ae_hole) {
/* valid hole processed by agg_process_holes_ult() */
D_ASSERTF(extent->ae_epoch < entry->ae_par_extent.ape_epoch,
"hole ext epoch " DF_X64 ", parity epoch " DF_X64 "\n",
extent->ae_epoch, entry->ae_par_extent.ape_epoch);
continue;
}

if (extent->ae_epoch <= entry->ae_par_extent.ape_epoch)
continue;
D_ASSERT(extent->ae_recx.rx_idx >= ss);
Expand Down

0 comments on commit 401dcde

Please sign in to comment.