Btrfs: Allocator fix variety pack
authorChris Mason <chris.mason@oracle.com>
Sat, 24 May 2008 18:04:53 +0000 (14:04 -0400)
committerChris Mason <chris.mason@oracle.com>
Thu, 25 Sep 2008 15:04:03 +0000 (11:04 -0400)
commit0ef3e66b6700eb8f052daa8b89443ff872fbbdfc
tree26bce57770b4f093199b6f87ab8ed3a54e951337
parent515dc3228c568f9df8b634f82b3471e20205ac16
Btrfs: Allocator fix variety pack

* Force chunk allocation when find_free_extent has to do a full scan
* Record the max key at the start of defrag so it doesn't run forever
* Block groups might not be contiguous, make a forward search for the
  next block group in extent-tree.c
* Get rid of extra checks for total fs size
* Fix relocate_one_reference to avoid relocating the same file data block
  twice when referenced by an older transaction
* Use the open device count when allocating chunks so that we don't
  try to allocate from devices that don't exist

Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/ctree.c
fs/btrfs/ctree.h
fs/btrfs/extent-tree.c
fs/btrfs/tree-defrag.c
fs/btrfs/volumes.c