On 14 July 2015 at 20:41, Hugo Mills <hugo@xxxxxxxxxxxxx> wrote: > On Tue, Jul 14, 2015 at 01:57:07PM +0200, Patrik Lundquist wrote: >> On 24 June 2015 at 12:46, Duncan <1i5t5.duncan@xxxxxxx> 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). It's a raid1 filesystem, so the block group ought to be the same size as the chunk, right? A 2GiB block group would suffice to explain it though. -- 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
