Btrfs поддерживает копирование при записи. Я попытался использовать эту функцию для клонирования каталога:
cp -R --reflink=always foo_directory foo_directory.mirror
Я ожидал, что команда завершится почти мгновенно (например, a btrfs subvolume snapshot
), но cp
команда, кажется, выполняет медленное, стандартное копирование.
Согласно справочной странице, я бы ожидал --reflink=always
принудительного выполнения Copy-On-Write:
Если указан параметр --reflink [= всегда], выполните упрощенное копирование, при котором блоки данных копируются только после изменения. Если это невозможно, копирование завершится неудачно или если задано --reflink = auto, вернитесь к стандартной копии.
Вопросов:
- Вы знаете, почему
--reflink=always
не работает? - Какие опции (или другие команды) я должен использовать вместо этого?
cp --reflink=always
все еще может пригодиться, когда то, что вы пытаетесь клонировать, не является корнем подобъема, посколькуbtrfs subvolume snapshot
действует только на подобъемы, а не на части подобъемов.