On Tue, Jul 14, 2015 at 01:57:07PM +0200, Patrik Lundquist wrote: > On 24 June 2015 at 12:46, Duncan <1i5t5.dun...@cox.net> wrote: > > > > Regardless of whether 1 or huge -t means maximum defrag, however, the > > nominal data chunk size of 1 GiB means that 30 GiB file you mentioned > > should be considered ideally defragged at 31 extents. This is a > > departure from ext4, which AFAIK in theory has no extent upper limit, so > > should be able to do that 30 GiB file in a single extent. > > > > But btrfs or ext4, 31 extents ideal or a single extent ideal, 150 extents > > still indicates at least some remaining fragmentation. > > So I converted the VMware VMDK file to a VirtualBox VDI file: > > -rw------- 1 plu plu 28845539328 jul 13 13:36 Windows7-disk1.vmdk > -rw------- 1 plu plu 28993126400 jul 13 14:04 Windows7.vdi > > $ filefrag Windows7.vdi > Windows7.vdi: 15 extents found > > $ btrfs filesystem defragment -t 3g Windows7.vdi > $ filefrag Windows7.vdi > Windows7.vdi: 24 extents found > > How can it be less than 28 extents with a chunk size of 1 GiB?
I _think_ the fragment size will be limited by the block group size. This is not the same as the chunk size for some RAID levels -- for example, RAID-0, a block group can be anything from 2 to n chunks (across the same number of devices), where each chunk is 1 GiB, so potentially you could have arbitrary-sized block groups. The same would apply to RAID-10, -5 and -6. (Note, I haven't verified this, but it makes sense based on what I know of the internal data structures). Hugo. -- Hugo Mills | Go not to the elves for counsel, for they will say hugo@... carfax.org.uk | both no and yes. http://carfax.org.uk/ | PGP: E2AB1DE4 |
signature.asc
Description: Digital signature