[Btrfs-devel] hugely experimental changes pushed out

Chris Mason chris.mason at oracle.com
Mon Aug 27 13:55:46 PDT 2007


Hello everyone,

I've pushed out my current patch queue so that I can start merging in
all those pending patches.  It has some really experimental stuff in
there, and it disables data file checksums for now.  Don't pull from
the hg tree unless you want to delete your files once checksums go back
in (I'll put in a -o nocsum mount option too so you can still read
things).

The big change is using my extent based page cache code to manage file
data pages.  This makes for much less cpu time used during reads and
writes on big extents because btrfs_search_slot is called much much
less often.

It also made delayed allocation fairly simple, and I've changed
file_write, truncate, and mmap to use delayed allocation.  This means
extents aren't allocated until just before the IO is done, and it's a
pretty huge win, especially on workloads that would frequently append
onto existing bytes in the file.

If you're waiting for me to merge something you've already sent, I'll
do the merging here tomorrow.

-chris







More information about the Btrfs-devel mailing list