Как я могу выполнить копирование CoW, но использовать жесткую привязку, если файловая система не поддерживает его? - PullRequest
0 голосов
/ 10 февраля 2019

Поскольку у жесткой ссылки есть свои недостатки, связанные с требованиями к разрешениям файлов (для разных пользователей), я хочу улучшить логику, используемую некоторыми операциями копирования файлов, и реализовать что-то вроде:

if cow_supported; then
    cp --reflink=auto src/ dst/
else
    cp -l src/ dst/
fi

Это должно работать в bashтоже не требуя экзотики, но общепринятые принимаются (rsync).

Приоритеты здесь: сначала скорость, экономия дискового пространства 2.Это копирование кэша, который вряд ли получит много обновлений после копирования.

Я думаю, что мы, вероятно, можем предположить, что src и dest находятся в одном разделе.

Мне нужно убедиться, что эти операцииработать с: Fedora / RHEL / CentOS, Debian / Ubuntu внутри или снаружи контейнеров, baremetals или vms .--- это означает широкий диапазон возможных файловых систем для рассмотрения: xfs, ext3 / 4, btrfs, overlayfs, ...

...