Ошибка btrfs не удалось клонировать экстенты во время инкрементного резервного копирования

Ошибка btrfs не удалось клонировать экстенты во время инкрементного резервного копирования

Я пытаюсь выполнить резервное копирование на внешний жесткий диск. И собственный диск, и внешний диск используют файловую систему BTRFS. Я делаю это, сначала создавая снимок только для чтения моего домашнего каталога:

# btrfs subvolume snapshot -r /home /.snapshots/home/BACKUP

Затем следует отправка/получение на резервный диск:

# btrfs send /.snapshots/home/BACKUP | btrfs receive /.backup/home

Я получаю такой вывод:

At subvol /.snapshots/home/BACKUP
At subvol BACKUP
ERROR: failed to clone extents to matt/.local/share/Anki2/Matt/collection.anki2: Invalid argument

где ошибка возникает примерно через минуту. Я пробовал с несколькими разными снимками и получал одну и ту же ошибку на каждом. Более того, я не мог найти этот файл ни в одном из снимков. Я подумал, что это может быть какая-то ошибка повреждения диска, поэтому я загрузился в образ ОС USB и запустил

# btrfs check --repair /dev/mapper/...

на размонтированной файловой системе. Это не сообщило об ошибках. После загрузки обратно в файловую систему я снова попробовал резервную копию и получил ту же ошибку. Есть мысли о том, что может быть причиной этого?


РЕДАКТИРОВАТЬ

Согласно комментарию Эммануэля Розы, я попытался

# btrfs scrub start -B /

который вышел без ошибок. Проблема все еще присутствует после очистки.


ПРАВКА 2

Я не смог понять, в чем тут проблема. Я просто удалил локальный файл, и тогда все снова заработало.


ПРАВКА 3

Хотя удаление файлов временно решает проблему, часто создаются новые файлы, которые приводят к той же ошибке, так что на самом деле это не решено. Файлы sqlite, похоже, особенно проблемны.

решение1

По-видимому, это была ошибка в ядре Linux, которая была исправленаэто совершить. Я обнаружил это, разместиввопрос в списке рассылки btrfs. Обновление ядра решило проблему.

Связанный контент