path: root/disk-io.h
diff options
authorChris Mason <>2013-10-16 10:36:55 -0400
committerChris Mason <>2013-10-16 10:42:53 -0400
commitd1570a06184ed3748536a67693ef5cfd954d4032 (patch)
tree3fe610614ddc64a510006820a518297d14a9dec1 /disk-io.h
parent005d7d2efb0aaaae056584f3cbd25d3bfce73ea3 (diff)
mkfs: fix mkfs -r to properly allocate space
mkfs -r wasn't creating chunks properly, making it very difficult to allocate space for anything except tiny filesystems. This changes it around to use more of the generic infrastructure, and to do actual logical->physical block number translation. It also allocates space to the files in smaller extents (max 1MB), which keeps the allocator from trying to allocate an extent bigger than a single chunk. It doesn't quite support multi-device mkfs -r yet, but is much closer. Signed-off-by: Chris Mason <>
Diffstat (limited to 'disk-io.h')
1 files changed, 2 insertions, 0 deletions
diff --git a/disk-io.h b/disk-io.h
index 681ff79b..6f2d4f41 100644
--- a/disk-io.h
+++ b/disk-io.h
@@ -101,6 +101,8 @@ int csum_tree_block_size(struct extent_buffer *buf, u16 csum_sectorsize,
int verify);
int verify_tree_block_csum_silent(struct extent_buffer *buf, u16 csum_size);
int btrfs_read_buffer(struct extent_buffer *buf, u64 parent_transid);
+int write_and_map_eb(struct btrfs_trans_handle *trans, struct btrfs_root *root,
+ struct extent_buffer *eb);
/* raid6.c */