On Fri 28 Jun 2019 05:03:13 PM CEST, Denis Lunev wrote: > On 6/28/19 6:02 PM, Alberto Garcia wrote: >>>>> Please note, I am not talking now about your case with COW. Here the >>>>> allocation is performed on the sub-cluster basis, i.e. the abscence of >>>>> the sub-cluster in the image means hole on that offset. This is >>>>> important difference. >>>> I mentioned the possibility that if you have a case like 2MB / 64KB >>>> and you write to an empty cluster then you could allocate the >>>> necessary subclusters, and additionally fallocate() the space of the >>>> whole cluster (2MB) in order to try to keep it contiguous. >>>> >>>> With this we would lose the space saving advantage of having >>>> subclusters. But perhaps that would work for smaller cluster sizes >>>> (it would mitigate the fragmentation problem). >>> There seem to be use cases for both ways. So does this need to be an >>> option? >> Probably a runtime option, or a heuristic that decides what to do >> depending on the cluster size. > no, I think that this should be on-disk option as this affects > allocation strategy.
But why does it need to be stored on-disk? It should be theoretically possible to switch between on strategy and the other at runtime (not that it would make sense though). Berto