On Thu, Aug 01, 2013 at 05:18:50PM -0400, Sandy McArthur wrote: > While exploring some btrfs maintenance with respect to defragmenting I > ran the following commands: > > # filefrag /path/to/34G.file /path/to/5.7G.file > /path/to/34G.file: 2406 extents found > /path/to/5.7G.file: 572 extents found > > Thinking those mostly static files could be less fragmented I ran: > # btrfs filesystem defragment -c /path/to/34G.file > # btrfs filesystem defragment -c /path/to/5.7G.file > > and to my surprise the number of fragments/extends doubled: > > # filefrag /path/to/34G.file /path/to/5.7G.file > /path/to/34G.file: 6324 extents found > /path/to/5.7G.file: 1079 extents found > > Did I actually improve these files? > > I do have a number rolling readonly snapshots on the subvolume these > files are on. I can imagine how that might be related but I'm not > sure. When the pre-defrag snapshots are purged will the filefrag > extents count drop.
I guess the reason is that you're doing the defragment with compression, ZLIB in default case, and btrfs compression has a maximum length limit, 128k. So if the original file's extents have a length larger than 128k, it's possible to get the results of 'filefrag' doubled. But I have no possible answer for 'why filefrag extents count drop after purging snapshots'. -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