> Пургу несете, уважаемый.С этого места - поподробнее. Что именно вам не нравится?
> NODATACOW - это когда блоки пишутся на СТАРОЕ место.
Именно. Это позволяет базе и ее журналу делать in-place операции не нарываясь на "помощь" CoW, который в этом случае все делает только хуже, активно тормозя журнальную логику, которая и без всякого CoW свое дело делала.
> Ничего не надо выделять, аллоцировать, не надо апдейтить карты свободного пространства.
> Всё уже готово.
Ну спасибо вам, Капитан! Вы за меня рассказали какие у NODATACOW преимущества и почему он хорош для баз. А я разве с этим спорил? Или хотя-бы пытался? Я вроде то же самое и говорил...
> Если файловая система может записать блок на новое
> место, то почему она не может перезаписать старый?
Так именно в этом пойнт NODATACOW и есть: при этом софт который делал журналинг на пессимистичный случай - получит нечто похожее по свойствам на классику. Btrfs при этом печется только о корректности своих метаданных, а участь данных отдана на откуп софту. Это как раз хорошо стыкуется с логикой всяких там БД и прочих, которые не могли уповать на то что ФС будет "правильная" и "специально под них", поэтому сами все реализовывали.
> Что здесь закладывать на фазах дизайна?
Возможность такого поведения как NODATACOW. В btrfs это было IIRC с самого начала.
> Не разбираетесь в предмете - не пишите.
Не понял. Вы как будто мои мысли до этого места читали. Но вот окончательный вывод - весьма странный.