diff options
author | Chris Mason <chris.mason@oracle.com> | 2008-05-24 14:04:53 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2008-09-25 11:04:03 -0400 |
commit | 0ef3e66b6700eb8f052daa8b89443ff872fbbdfc (patch) | |
tree | 26bce57770b4f093199b6f87ab8ed3a54e951337 /fs/btrfs/ctree.h | |
parent | 515dc3228c568f9df8b634f82b3471e20205ac16 (diff) |
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>
Diffstat (limited to 'fs/btrfs/ctree.h')
-rw-r--r-- | fs/btrfs/ctree.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index 293464c0c6ba..7b73a9c3d868 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h | |||
@@ -464,6 +464,7 @@ struct btrfs_space_info { | |||
464 | u64 bytes_used; | 464 | u64 bytes_used; |
465 | u64 bytes_pinned; | 465 | u64 bytes_pinned; |
466 | int full; | 466 | int full; |
467 | int force_alloc; | ||
467 | struct list_head list; | 468 | struct list_head list; |
468 | }; | 469 | }; |
469 | 470 | ||
@@ -589,6 +590,7 @@ struct btrfs_root { | |||
589 | int ref_cows; | 590 | int ref_cows; |
590 | int track_dirty; | 591 | int track_dirty; |
591 | struct btrfs_key defrag_progress; | 592 | struct btrfs_key defrag_progress; |
593 | struct btrfs_key defrag_max; | ||
592 | int defrag_running; | 594 | int defrag_running; |
593 | int defrag_level; | 595 | int defrag_level; |
594 | char *name; | 596 | char *name; |