On 01.10.2019 8:35, Qu Wenruo wrote:
I recommend to do a "btrfs check" on all fses.
I had done "btrfs check" on /dev/sda4:
attached btrfs-check-sda4.output
There are some errors. How to fix them?
It looks like "btrfs check --repair" can handle most of these bugs.
Please do a backup and try repair.
I ran "btrfs check --repair":
$ btrfs check -p --repair sda4.image.copy
enabling repair mode
Opening filesystem to check...
Checking filesystem on sda4.image.copy
UUID: a942b8da-e92d-4348-8de9-ded1e5e095ad
[1/7] checking root items (0:00:07 elapsed, 509893 items
checked)
Fixed 0 roots.
backref bytes do not match extent backref, bytenr=1985052672, ref bytes=20480,
backref bytes=86016
backpointer mismatch on [1985052672 20480]
attempting to repair backref discrepency for bytenr 1985052672
backref bytes do not match extent backref, bytenr=1985052672, ref bytes=20480,
backref bytes=86016
backpointer mismatch on [1985052672 20480]
attempting to repair backref discrepency for bytenr 1985052672
backref bytes do not match extent backref, bytenr=1985052672, ref bytes=20480,
backref bytes=86016
backpointer mismatch on [1985052672 20480]
attempting to repair backref discrepency for bytenr 1985052672
backref bytes do not match extent backref, bytenr=1985052672, ref bytes=20480,
backref bytes=86016
backpointer mismatch on [1985052672 20480]
attempting to repair backref discrepency for bytenr 1985052672
backref bytes do not match extent backref, bytenr=1985052672, ref bytes=20480,
backref bytes=86016
backpointer mismatch on [1985052672 20480]
attempting to repair backref discrepency for bytenr 1985052672
After 27 hours of work, I interrupted it:
backref bytes do not match extent backref, bytenr=1985052672, ref bytes=20480,
backref bytes=86016
backpointer mismatch on [1985052672 20480]
attempting to repair backref discrepency for bytenr 1985052672
backref bytes do not match extent backref, bytenr=1985052672, ref bytes=20480,
backref bytes=86016
backpointer mismatch on [1985052672 20480]
attempting to repair backref discrepency for bytenr 1985052672
backref bytes do not match extent backref, bytenr=1985052672, ref bytes=20480,
backref bytes=86016
backpointer mismatch on [1985052672 20480]
attempting to repair backref discrepency for bytenr 1985052672
backref bytes do not match extent backref, bytenr=1985052672, ref bytes=20480,
backref bytes=86016
backpointer mismatch on [1985052672 20480]
attempting to repair backref discrepency for bytenr 1985052672
checking extents (27:48:52 elapsed, 3363526296 items
checked)
I think "btrfs check" is looped somewhere. Or not?