Btrfs: Add run time btree defrag, and an ioctl to force btree defrag
authorChris Mason <chris.mason@oracle.com>
Tue, 7 Aug 2007 20:15:09 +0000 (16:15 -0400)
committerDavid Woodhouse <dwmw2@hera.kernel.org>
Tue, 7 Aug 2007 20:15:09 +0000 (16:15 -0400)
commit6702ed490ca0bb44e17131818a5a18b773957c5a
treef6bc4b77e58506a68f1ab539ca6c96854f39f92d
parent3c69faecb8d83cb2ef085a98b196a3fecea67725
Btrfs: Add run time btree defrag, and an ioctl to force btree defrag

This adds two types of btree defrag, a run time form that tries to
defrag recently allocated blocks in the btree when they are still in ram,
and an ioctl that forces defrag of all btree blocks.

File data blocks are not defragged yet, but this can make a huge difference
in sequential btree reads.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/Makefile
fs/btrfs/ctree.c
fs/btrfs/ctree.h
fs/btrfs/disk-io.c
fs/btrfs/extent-tree.c
fs/btrfs/file.c
fs/btrfs/inode.c
fs/btrfs/ioctl.h
fs/btrfs/transaction.c
fs/btrfs/transaction.h
fs/btrfs/tree-defrag.c [new file with mode: 0644]