Якщо ви не введете системний виклик для cp
(або принаймні для копіювання блоку), в ОС важко з'ясувати, що дані, які cp
програма збирається записувати, є такими ж, як і ті, які вона щойно прочитала з іншого блоку. Крім того, у вас є додаткові накладні витрати для керування сценарієм "декілька файлів, які діляться однаковими блоками". Великі подібні файли, які відрізняються лише кількома блоками, трапляються рідко. Так що в цілому дешевше просто скопіювати ці блоки, а потім додати цю адміністративну накладну вартість до всіх файлів.
Тепер, якщо ви "копіюєте" файли (їх багато), додавши ще один клон / знімок файлової системи в, скажімо, BTRFS, ситуація інша: тепер ви "скопіювали" всі файли у файлову систему та будь-які зміни в вони будуть копіюватися під час запису. Це існує, але не в ext4.
"Journalling" - це абсолютно незалежне від цього поняття, це адміністративні структури для файлів, які враховуються.