> I find this expression hard to understand. > > We only get here if ds.nb_undedupable_sectors > 0. In other words, we > tried to dedup but failed, so we must write data into the image file. > > Can we ensure that ds.nb_undedupable_sectors is limited to at most > remaining_sectors? Then the expression becomes clearer:
ds.nb_undedupable_sectors can be bigger than remaining_sectors if dedup_cluster_data was completed at its begining and/or at its ending in case of an unaligned write. Maybe I could grow/replace qiov at the begining of writev to ingest the completed data and increase remaining_sectors so its will be alway >= ds.nb_undedupable_sectors ? What do you think about this solution ? Best regards Benoît