Re: btrfs check: backref lost, mismatch with its hash -- can't repair

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2018年01月25日 03:00, ^m'e wrote:
> The complete check:
> 
> Checking filesystem on /dev/sdb3
> UUID: de1723e2-150c-4448-bb36-be14d7d96093
> ERROR: extent[64368619520, 524288] referencer count mismatch (root:
> 257, owner: 7804556, offset: 212992) wanted: 1, have: 0
> ERROR: data extent[1862352896 425984] backref lost
> ERROR: data extent[1886453760 479232] backref lost
> ERROR: data extent[1902219264 524288] backref lost
> ERROR: data extent[1817378816 151552] backref lost
> ERROR: data extent[1799688192 57344] backref lost
> ERROR: data extent[1830277120 258048] backref lost
> ERROR: data extent[2558107648 1368064] backref lost

Well, a little surprised to know that --repair doesn't repair it.
I'll fix them after all other problems are fixed.

> ERROR: errors found in extent allocation tree or chunk allocation
> cache and super generation don't match, space cache will be invalidated
> ERROR: root 257 DIR_ITEM[30039322 4007295565] couldn't find relative
> INODE_ITEM[0] namelen 0 filename  filetype 0
> ERROR: root 257 DIR_ITEM[30039322 4007295565] data_len shouldn't be 32907

OK, another root, other than the root I'm repairing.

So the corruption seems to happen in multiple snapshots.

Anyway, I could fix it using the same code, just changing the root objectid.

At least, the fix in the offending DIR_ITEM is working.
Just a few more roots needs to be fixed.

> ERROR: root 257 DIR_ITEM[30039322 4007295565] couldn't find relative
> INODE_ITEM[0] namelen 3 filename  filetype 0
> ERROR: root 258 EXTENT_DATA[1119172 1966080] prealloc shouldn't have datasum
> ERROR: root 1327 EXTENT_DATA[60710 18219008] prealloc shouldn't have datasum
> ERROR: root 1331 EXTENT_DATA[60710 18219008] prealloc shouldn't have datasum
> ERROR: root 1333 EXTENT_DATA[60710 18219008] prealloc shouldn't have datasum
> ERROR: root 1362 EXTENT_DATA[1119172 1966080] prealloc shouldn't have datasum
> ERROR: root 1366 EXTENT_DATA[1119172 1966080] prealloc shouldn't have datasum
> ERROR: root 1382 EXTENT_DATA[1119172 1966080] prealloc shouldn't have datasum

Not a big problem, so handle it later.

> ERROR: root 1385 DIR_ITEM[30039322 2438219243] couldn't find relative
> INODE_ITEM[0] namelen 12 filename metadata.xml filetype 1
> ERROR: root 1385 DIR INODE [30039322] size(152) not equal to 136
> ERROR: root 1385 INODE REF[30039324 30039322] and DIR_ITEM[30039322
> 2438219243] mismatch namelen 12 filename metadata.xml filetype 1

And I forgot this one.
But this is pretty simple, I'll focus on previous problems and handle it
later.

Thanks,
Qu

> found 104348008448 bytes used err is -5
> total csum bytes: 99534904
> total tree bytes: 3204612096
> total fs tree bytes: 2984034304
> total extent tree bytes: 87818240
> btree space waste bytes: 778261104
> file data blocks allocated: 242964852736
>  referenced 198454632448
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux