+ if (pfd->completion_status == GCS_NO_COMPLETE_GROUP)
+ return 1;
+ if (pfd->completion_status == GCS_FIRST_GROUP_DECODED)
+ return 1;
+ if (fg == pfd->first_complete_group)
+ return 1;
+ assert(!pfd->fec);
+ k = h->data_slices_per_group;
+ n = h->slices_per_group;
+ PARA_NOTICE_LOG("init fec (%d, %d)\n", k, n);
+ ret = fec_new(k, n, &pfd->fec);
+ if (ret < 0)
+ return ret;
+ ret = decode_group(pfd->first_complete_group, fn);
+ if (ret < 0)
+ return ret;
+ pfd->completion_status = GCS_FIRST_GROUP_DECODED;