On Fri 28 Jun 2019 05:09:11 PM CEST, Kevin Wolf wrote:
> Am 28.06.2019 um 17:02 hat Alberto Garcia geschrieben:
>> On Fri 28 Jun 2019 04:57:08 PM CEST, Kevin Wolf wrote:
>> > Am 28.06.2019 um 16:43 hat Alberto Garcia geschrieben:
>> >> On Thu 27 Jun 2019 06:05:55 PM CEST, Denis Lunev 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.
>
> How would the heuristic decide whether the user wants to save disk space
> or whether they consider avoiding fragmentation (i.e. performance) more
> important?

Well I suppose the fragmentation problem is more important when you have
small clusters and less so when you have large clusters, so that would
be a way to do it.

Of course with an option the user would have the final choice.

Berto

Reply via email to