aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/extent_io.h
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2011-07-19 12:04:14 -0400
committerChris Mason <chris.mason@oracle.com>2011-07-27 12:46:45 -0400
commita65917156e345946dbde3d7effd28124c6d6a8c2 (patch)
treedc5478189be0f6a321bfc23ee0545f71de67763b /fs/btrfs/extent_io.h
parent199c36eaa95077a47ae1bc55532fc0fbeb80cc95 (diff)
Btrfs: stop using highmem for extent_buffers
The extent_buffers have a very complex interface where we use HIGHMEM for metadata and try to cache a kmap mapping to access the memory. The next commit adds reader/writer locks, and concurrent use of this kmap cache would make it even more complex. This commit drops the ability to use HIGHMEM with extent buffers, and rips out all of the related code. Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/extent_io.h')
-rw-r--r--fs/btrfs/extent_io.h11
1 files changed, 2 insertions, 9 deletions
diff --git a/fs/btrfs/extent_io.h b/fs/btrfs/extent_io.h
index a11a92ee2d30..b5f120cca916 100644
--- a/fs/btrfs/extent_io.h
+++ b/fs/btrfs/extent_io.h
@@ -120,8 +120,6 @@ struct extent_state {
120struct extent_buffer { 120struct extent_buffer {
121 u64 start; 121 u64 start;
122 unsigned long len; 122 unsigned long len;
123 char *map_token;
124 char *kaddr;
125 unsigned long map_start; 123 unsigned long map_start;
126 unsigned long map_len; 124 unsigned long map_len;
127 struct page *first_page; 125 struct page *first_page;
@@ -279,15 +277,10 @@ int clear_extent_buffer_uptodate(struct extent_io_tree *tree,
279int extent_buffer_uptodate(struct extent_io_tree *tree, 277int extent_buffer_uptodate(struct extent_io_tree *tree,
280 struct extent_buffer *eb, 278 struct extent_buffer *eb,
281 struct extent_state *cached_state); 279 struct extent_state *cached_state);
282int map_extent_buffer(struct extent_buffer *eb, unsigned long offset,
283 unsigned long min_len, char **token, char **map,
284 unsigned long *map_start,
285 unsigned long *map_len, int km);
286int map_private_extent_buffer(struct extent_buffer *eb, unsigned long offset, 280int map_private_extent_buffer(struct extent_buffer *eb, unsigned long offset,
287 unsigned long min_len, char **token, char **map, 281 unsigned long min_len, char **map,
288 unsigned long *map_start, 282 unsigned long *map_start,
289 unsigned long *map_len, int km); 283 unsigned long *map_len);
290void unmap_extent_buffer(struct extent_buffer *eb, char *token, int km);
291int extent_range_uptodate(struct extent_io_tree *tree, 284int extent_range_uptodate(struct extent_io_tree *tree,
292 u64 start, u64 end); 285 u64 start, u64 end);
293int extent_clear_unlock_delalloc(struct inode *inode, 286int extent_clear_unlock_delalloc(struct inode *inode,