On Wed, Dec 20, 2017 at 11:59:20PM +0300, Timofey Titovets wrote:
> How reproduce:
> touch test_file
> chattr +C test_file
> dd if=/dev/zero of=test_file bs=1M count=1
> btrfs fi def -vrczlib test_file
> filefrag -v test_file
> 
> test_file
> Filesystem type is: 9123683e
> File size of test_file is 1048576 (256 blocks of 4096 bytes)
> ext:     logical_offset:        physical_offset: length:   expected: flags:
>   0:        0..      31:   72917050..  72917081:     32:             encoded
>   1:       32..      63:   72917118..  72917149:     32:   72917082: encoded
>   2:       64..      95:   72919494..  72919525:     32:   72917150: encoded
>   3:       96..     127:   72927576..  72927607:     32:   72919526: encoded
>   4:      128..     159:   72943261..  72943292:     32:   72927608: encoded
>   5:      160..     191:   72944929..  72944960:     32:   72943293: encoded
>   6:      192..     223:   72944952..  72944983:     32:   72944961: encoded
>   7:      224..     255:   72967084..  72967115:     32:   72944984:
> last,encoded,eof
> test_file: 8 extents found
> 
> I can't found at now, where that error happen in code,
> but it's reproducible on Linux 4.14.8
>

Please check the comments in this function need_force_cow(),

* Force cow if given extent needs to be defragged.

and using zlib makes it compress the data.

Thanks,

-liubo
--
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