How to defragment compressed btrfs files?
0
votes
2
answers
92
views
If I defragment files on btrfs with the command
btrfs filesystem defrag --step 1G file
Everything is fine. A
filefrag -v file
clearly show, the extent count significantly decreased.
Things are very different if I deal with compressed files. First, filefrag gives a huge amount of extents:
Filesystem type is: 9123683e
File size of file is 85942272 (20982 blocks of 4096 bytes)
ext: logical_offset: physical_offset: length: expected: flags:
0: 0.. 31: 607198.. 607229: 32: encoded
1: 32.. 63: 609302.. 609333: 32: 607230: encoded
2: 64.. 95: 609314.. 609345: 32: 609334: encoded
3: 96.. 127: 609326.. 609357: 32: 609346: encoded
...
648: 20928.. 20959: 704298.. 704329: 32: 704299: encoded
649: 20960.. 20981: 691987.. 692008: 22: 704330: last,encoded,eof
file: 650 extents found
Second, if btrfs filesystem defragment
commands return on the spot, without error report - and with an unchanged filefrag output.
My impression is that fragmentation of compressed files is not an issue on btrfs filesystems et all. However, my ears clearly show: yes it is an issue for me.
So, how to defragment on btrfs compressed file? How could I even see, are they even continuous, but not their encoded ( == compressed ) extents, instead their compressed blocks on the hdd?
Asked by peterh
(10448 rep)
May 12, 2025, 02:22 PM
Last activity: May 12, 2025, 06:29 PM
Last activity: May 12, 2025, 06:29 PM