+ unsigned int free_list_size = pile->pieces_per_cake * sizeof(piece_index_t);
+
+ pile->offset = ROUNDUP(sizeof(struct cake_s) + free_list_size, offset);
+ pile->pieces_per_cake -= ICEIL((pile->offset - free_list_size), piece_size);
+
+ strncpy(pile->pile_name, name, PILE_NAME_MAXLEN);