> Я проморгал про удаление, и писал про то, что на CoW мы
> получим лапшу по всему диску хоть с преаллокацией, хоть без оной.А на обычных не-CoW ФС с преаллокацией не будет "лапши"? Вообще же, разработка грамотной преаллокация довольно трудоёмка для любых современных ФС, так как ФС научились учитывать размещение групп одинаковых байтов (того, что должно заполнить выделяемое место) и оптимизируют это размещение на стадии дисковой подсистемы. Разработчику преаллокатора в торрент-клиенте, например, приходиться балансировать между скоростью преаллокации (записи специально сформирвоанного потока байтов — фактически псевдорандомного мусора) и временем ответной реакции на начало скачивания торрент-контента. То есть грамотная преаллокация заключается в том, чтобы перед началом скачивания торрент-контента (допустим, 10ГБ MKV) нужно каким-то образом скинуть на диск поток байтового мусора, чтобы ФС точно выделила (10ГБ) желательно в соседних секторах диска этот самый объём пространства, которое со временем будет перезаписано настоящими байтами контента.
Однако современные ФС не учитывают физическое расположение секторов на диске (оперируют только LBA адресацией). И грамотный преаллокатор поэтому написать невозможно, как, кстати, и грамотный дефрагментатор с учётом расположения секторов на диске. Возможно лишь "балансировка" (оптимизация) метаданных для как можно скорейшего доступа к блокам с данными на диске.
Условно скорость доступа к данным повышается, если их располагать как можно ближе к логическому началу диска. С этим знанием ведут работу всякого рода дефрагментаторы и оптимизируют свою работу ФС при записи данных, а также учитывают другие критерии расположения: как можно более монотонная последовательность адресации блоков одного файла, как часто используется файл и, ещё может быть, размер файла (бывают дефрагментаторы, которые нарочно двигают большие файлы в конец или в начало диска). Всё это по сути ускоряет доступ к набору данных, но не делает этот доступ идеально быстрым — LBA скрывает механические перемещения головок винчестера. Работа с метаданными намного более продуктивна (быстра) и позволяет сделать время доступа к данным одинаковым на всей поверхности диска, обеспечить достаточную скорость чтения и записи (примерно в два раза меньше максимально доступной для данного винчестера) по ВСЕЙ поверхности диска.