Am 28.06.2019 um 17:10 hat Alberto Garcia geschrieben: > 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).
I think it makes sense to store the default in the image and allow it to be overridden at runtime, similar to lazy_refcounts. Kevin