Как я могу скопировать файл с использованием функции копирования при записи с использованием C ++ поверх файла в файловой системе BTRFS из кода C ++ в системе Linux, которая, как предполагается, поддерживает его?Является ли решение общим для всех систем Unix?
CoW вообще не входит ни в одну часть стандарта C ++ для файловых систем.Он также отсутствует в документации по Linux и не является стандартом POSIX.
На самом деле, даже если утилита GNU cp может обрабатывать копирование при записи, это может выполняться не всегда, так как для этого требуется аргумента именно --reflink=true
для принудительного использования
Таким образом, использование CoW, скорее всего, потребует использования низкоуровневых примитивов, для которых, очевидно, не было подготовлено никакой документации для Linux или, в более широком смысле, POSIX.