On 01/27/2017 07:31 AM, Christoph Anton Mitterer wrote:
On Thu, 2017-01-26 at 11:10 +0800, Qu Wenruo wrote:
Would you please try lowmem_tests branch of my repo?

That branch contains a special debug output for the case you
encountered, which should help to debug the case.
pecial debug output for the case you encountered, which

Here the output with your patches (again, not having applied the
unnecessary fs-tests patches):

In the output below I've replaced filenames with "[snip..snap]" and
exchanged some of the xattr values.
In case you should need their original values for testing, just tell me
and I send them to you off-list.

Sorry for the late reply, in Chinese New Year vacation.


btrfs-progs v4.9 WITH patches:
******************************
# btrfs check --mode=lowmem /dev/nbd0 ; echo $?
checking extents
checking free space cache
checking fs roots
ERROR: root 6031 EXTENT_DATA[277 524288] datasum missing, have: 36864, expect: 
45056 ret: 0

Thanks a lot for your debug output!

This shows the full reason of the problem! And it can be fixed easily now.
Checking filesystem on /dev/nbd0
UUID: 326d292d-f97b-43ca-b1e8-c722d3474719
=== fs tree leaf dump: slot: 136 ===
leaf 5960902508544 items 191 free space 60 generation 2775 owner 6031
fs uuid 326d292d-f97b-43ca-b1e8-c722d3474719
chunk uuid 5da7e818-7f0b-43c1-b465-fdfaa52da633
<snipped>
        item 136 key (277 EXTENT_DATA 524288) itemoff 8443 itemsize 53
                generation 2775 type 1 (regular)
                extent data disk byte 6805694144512 nr 36864
                extent data offset 0 nr 45056 ram 45056
                extent compression 1 (zlib)

I just forgot that, we must handle plain extent and compressed extent separately.

For compressed case, we should not use extent offset and nr_bytes, but use the full extent.

I'll update the patchset soon to address it.

Thanks again for your detailed output and patience,
Qu

=== csum tree dump ===
leaf 4983028940800 items 22 free space 6853 generation 3093 owner 7
fs uuid 326d292d-f97b-43ca-b1e8-c722d3474719
chunk uuid 5da7e818-7f0b-43c1-b465-fdfaa52da633
        item 0 key (EXTENT_CSUM EXTENT_CSUM 6805691457536) itemoff 16279 
itemsize 4
                extent csum item
        item 1 key (EXTENT_CSUM EXTENT_CSUM 6805691461632) itemoff 16275 
itemsize 4
                extent csum item
        item 2 key (EXTENT_CSUM EXTENT_CSUM 6805691465728) itemoff 16263 
itemsize 12
                extent csum item
        item 3 key (EXTENT_CSUM EXTENT_CSUM 6805691478016) itemoff 16231 
itemsize 32
                extent csum item
        item 4 key (EXTENT_CSUM EXTENT_CSUM 6805691510784) itemoff 16223 
itemsize 8
                extent csum item
        item 5 key (EXTENT_CSUM EXTENT_CSUM 6805691518976) itemoff 16199 
itemsize 24
                extent csum item
        item 6 key (EXTENT_CSUM EXTENT_CSUM 6805691543552) itemoff 16183 
itemsize 16
                extent csum item
        item 7 key (EXTENT_CSUM EXTENT_CSUM 6805691559936) itemoff 15159 
itemsize 1024
                extent csum item
        item 8 key (EXTENT_CSUM EXTENT_CSUM 6805692608512) itemoff 15151 
itemsize 8
                extent csum item
        item 9 key (EXTENT_CSUM EXTENT_CSUM 6805692616704) itemoff 15055 
itemsize 96
                extent csum item
        item 10 key (EXTENT_CSUM EXTENT_CSUM 6805692715008) itemoff 14903 
itemsize 152
                extent csum item
        item 11 key (EXTENT_CSUM EXTENT_CSUM 6805693132800) itemoff 14519 
itemsize 384
                extent csum item
        item 12 key (EXTENT_CSUM EXTENT_CSUM 6805693526016) itemoff 14391 
itemsize 128
                extent csum item
        item 13 key (EXTENT_CSUM EXTENT_CSUM 6805693919232) itemoff 14135 
itemsize 256
                extent csum item
        item 14 key (EXTENT_CSUM EXTENT_CSUM 6805694443520) itemoff 12727 
itemsize 1408
                extent csum item
        item 15 key (EXTENT_CSUM EXTENT_CSUM 6805695885312) itemoff 11811 
itemsize 916
                extent csum item
        item 16 key (EXTENT_CSUM EXTENT_CSUM 6805696823296) itemoff 11007 
itemsize 804
                extent csum item
        item 17 key (EXTENT_CSUM EXTENT_CSUM 6805697646592) itemoff 10211 
itemsize 796
                extent csum item
        item 18 key (EXTENT_CSUM EXTENT_CSUM 6805698461696) itemoff 9799 
itemsize 412
                extent csum item
        item 19 key (EXTENT_CSUM EXTENT_CSUM 6805698883584) itemoff 9259 
itemsize 540
                extent csum item
        item 20 key (EXTENT_CSUM EXTENT_CSUM 6805699436544) itemoff 8827 
itemsize 432
                extent csum item
        item 21 key (EXTENT_CSUM EXTENT_CSUM 6805699878912) itemoff 7403 
itemsize 1424
                extent csum item
ERROR: errors found in fs roots
found 7519512838144 bytes used, error(s) found
total csum bytes: 7330834320
total tree bytes: 10902437888
total fs tree bytes: 2019704832
total extent tree bytes: 1020149760
btree space waste bytes: 925714197
file data blocks allocated: 7509228494848
 referenced 7630551511040
1


Cheers,
Chris.

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to