summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/ctree.h
diff options
context:
space:
mode:
authorChris Mason2008-05-24 20:04:53 +0200
committerChris Mason2008-09-25 17:04:03 +0200
commit0ef3e66b6700eb8f052daa8b89443ff872fbbdfc (patch)
tree26bce57770b4f093199b6f87ab8ed3a54e951337 /fs/btrfs/ctree.h
parentBtrfs: Use kzalloc on the fs_devices allocation (diff)
downloadkernel-qcow2-linux-0ef3e66b6700eb8f052daa8b89443ff872fbbdfc.tar.gz
kernel-qcow2-linux-0ef3e66b6700eb8f052daa8b89443ff872fbbdfc.tar.xz
kernel-qcow2-linux-0ef3e66b6700eb8f052daa8b89443ff872fbbdfc.zip
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.h2
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 {
u64 bytes_used;
u64 bytes_pinned;
int full;
+ int force_alloc;
struct list_head list;
};
@@ -589,6 +590,7 @@ struct btrfs_root {
int ref_cows;
int track_dirty;
struct btrfs_key defrag_progress;
+ struct btrfs_key defrag_max;
int defrag_running;
int defrag_level;
char *name;