2019-04-05 02:47, Qu Wenruo:
On 2019/4/4 下午11:27, Nik. wrote:
2019-04-03 03:04, Qu Wenruo:
[snip]
...
In your case, you just need latest btrfs-progs and re-run "btrfs check
--readonly" on it.
Will try this, but have no time before tomorrow evening.
If it just shows the same result, meaning I can't get the info about
which tree block is corrupted, then you could try to mount it with
-o ro
using *LATEST* kernel.
I tried this before with the 4.15.0-46 kernel, it was impossible. Will
try again with newer one as soon as possible (in best case tomorrow
evening); I will post the results.
Sorry for the delay, compiling the btrfs-progs took much more time than
expected (had to install new packages again and again). Finally had to
give up the conversion ("make" could not find reiserfs/misc.h, although
both libreiserfscore and reiser4fs are installed).
Output of the commands:
# uname -r
5.0.6-050006-generic
#btrfs --version
btrfs-progs v4.20.2
# btrfs check --readonly /dev/md0
Opening filesystem to check...
incorrect offsets 15003 146075
ERROR: cannot open file system
It seems that I will wait until 5.2 is out...
(the answer to Jeff Mahoney is coming with separate e-mail!)
OK, then you can try mount it with 5.0 with -o ro.
# mount -t btrfs -o ro /dev/md0 /mnt/md0/
mount: /mnt/md0: wrong fs type, bad option, bad superblock on /dev/md0,
missing codepage or helper program, or other error.
The objective is not to make it work, but to get the dmesg, which should
# dmesg|tail
[65283.442278] audit: type=1107 audit(1554438151.396:115): pid=1 uid=0
auid=4294967295 ses=4294967295 subj=kernel msg='Unknown class service
exe="/lib/systemd/systemd" sauid=0 hostname=? addr=? terminal=?'
[72504.975359] audit: type=1107 audit(1554445372.928:116): pid=1 uid=0
auid=4294967295 ses=4294967295 subj=kernel msg='Unknown class service
exe="/lib/systemd/systemd" sauid=0 hostname=? addr=? terminal=?'
[72535.214394] audit: type=1107 audit(1554445403.166:117): pid=1 uid=0
auid=4294967295 ses=4294967295 subj=kernel msg='Unknown class service
exe="/lib/systemd/systemd" sauid=0 hostname=? addr=? terminal=?'
[72535.257571] audit: type=1107 audit(1554445403.210:118): pid=1 uid=0
auid=4294967295 ses=4294967295 subj=kernel msg='Unknown class system
exe="/lib/systemd/systemd" sauid=0 hostname=? addr=? terminal=?'
[73427.486853] BTRFS info (device md0): disk space caching is enabled
[73427.938260] BTRFS info (device md0): bdev /dev/md0 errs: wr 0, rd 0,
flush 0, corrupt 2181, gen 0
[73429.172707] BTRFS critical (device md0): corrupt leaf: root=2
block=1894009225216 slot=30, unexpected item end, have 146075 expect 15003
[73429.176628] BTRFS critical (device md0): corrupt leaf: root=2
block=1894009225216 slot=30, unexpected item end, have 146075 expect 15003
[73429.177153] BTRFS error (device md0): failed to read block groups: -5
[73429.197019] BTRFS error (device md0): open_ctree failed
contain the tree block bytenr, so that we can try to fix that offending
tree block manually.
Thanks,
Qu
Should I try something alse?
Thank you!
Nik.
--
Latest kernel will report anything wrong pretty vocally, in that case,
dmesg would include the bytenr of corrupted tree block.
Then I could craft needed commands to further debug the fs.
Ok, I will try to post more info tomorrow about this time.
Nik.
--
Thanks,
Qu
Thank you for trying to improve btrfs!
Nik.
Thanks,
Qu
You are not from the 007 - lab, are you? ;-)
Kind regards,
Nik.