増分バックアップ中に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

1分後にエラーが発生します。いくつかの異なるスナップショットを試しましたが、それぞれ同じエラーが発生しました。さらに、どのスナップショットでもファイルが見つかりません。ある種のディスク破損エラーである可能性があると考え、USB OSイメージで起動して実行しました。

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

マウント解除されたファイルシステムから。ここにエラーはありません。ファイルシステムで再起動した後、バックアップを再試行しましたが、同じエラーが発生しました。この問題の原因は何ですか?


編集する

Emmanuel Rosaのコメントに基づいて試しました。

# btrfs scrub start -B /

エラーなしで終了します。点滅しても問題はまだ存在します。


編集2

私はこれが何が間違っているのかわかりません。結局、ローカルファイルを削除して再び機能しました。


編集3

ファイルを削除すると問題は一時的に解決されますが、新しいファイルが生成され、同じエラーが発生することが多いため、実際には解決されません。 sqliteファイルは特に問題があるようです。

答え1

これはLinuxカーネルのバグであるように見え、修正されました。今回提出してください。投稿しましたが見つかりました。btrfsメーリングリストに関する質問。カーネルをアップグレードすると問題が解決しました。

関連情報