Да понятно что от приложений зависит. Только вот интересно покопать вопрос - можно типа roolback через API btrfs сделать (т.е. откатитмя на те данные, которые был поверх через COW перезаписаны, ди доступ к таким данным для БД нужен на более гранулярном уровне чем как в снимке.
Ведь стандартное требование транзакционной консистентности (если не ошибаюсь оно как-то так называется), что пока данные не закомичены, все остальные, кто читает их, видят данные до коммита. А это значит COW нужно както хитро обходить для того что бы читать отдельные кусочки из данных под свежей записью. Понятно, что многие вещи можно через кеширование в памяти сделать, но к сожалению не любую транзакцию БД можно исклюсительно в памяти держать до коммита.