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/...

マウントされていないファイルシステムで。エラーは報告されませんでした。ファイルシステムを再起動した後、バックアップを再度試みましたが、同じエラーが発生しました。原因について何か考えはありますか?


編集

エマニュエル・ローザのコメントに従って、私は試しました

# btrfs scrub start -B /

エラーなしで終了しました。問題はスクラブ後もまだ残っています。


編集2

何が問題なのかわかりませんでした。結局、ローカル ファイルを削除したら、再び動作するようになりました。


編集3

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

答え1

これはどうやらLinuxカーネルのバグだったようで、このコミット。私はこれを投稿して発見しましたbtrfsメーリングリストへの質問カーネルをアップグレードすると問題は解決しました。

関連情報