Thread (6 messages) 6 messages, 3 authors, 2011-01-22

Re: btrfs defrag: how does it work?

From: Chris Mason <hidden>
Date: 2011-01-20 21:38:18

Excerpts from Paul Komkoff's message of 2011-01-19 17:31:56 -0500:
On Wed, Jan 19, 2011 at 9:25 PM, Chris Mason [off-list ref]=
 wrote:
quoted
The defrag code doesn't actually defrag. =C2=A0It opens up the file=
 and
quoted
recows all the extents and then the delayed allocation code jumps i=
n and
quoted
makes the biggest possible extent that it can.

The reason why you're still seeing extents after running the defrag
command is because the file hasn't been written yet, so the delayed
allocation code hasn't kicked in.

If you use btrfs fi defrag -f it'll trigger writeback on the file a=
nd
quoted
you should see the results of the defrag sooner.
=20
I tried, and just tried it again, with the same file. I even tried
doing btrfs fi sync in random order. No matter what I do, it's still
132 extents :)
Are you using compression?

-chris
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" =
in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help