diff options
author | Chris Mason <chris.mason@oracle.com> | 2011-07-19 12:04:14 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2011-07-27 12:46:45 -0400 |
commit | a65917156e345946dbde3d7effd28124c6d6a8c2 (patch) | |
tree | dc5478189be0f6a321bfc23ee0545f71de67763b /fs/btrfs/extent_io.h | |
parent | 199c36eaa95077a47ae1bc55532fc0fbeb80cc95 (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.h | 11 |
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 { | |||
120 | struct extent_buffer { | 120 | struct 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, | |||
279 | int extent_buffer_uptodate(struct extent_io_tree *tree, | 277 | int 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); |
282 | int 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); | ||
286 | int map_private_extent_buffer(struct extent_buffer *eb, unsigned long offset, | 280 | int 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); |
290 | void unmap_extent_buffer(struct extent_buffer *eb, char *token, int km); | ||
291 | int extent_range_uptodate(struct extent_io_tree *tree, | 284 | int extent_range_uptodate(struct extent_io_tree *tree, |
292 | u64 start, u64 end); | 285 | u64 start, u64 end); |
293 | int extent_clear_unlock_delalloc(struct inode *inode, | 286 | int extent_clear_unlock_delalloc(struct inode *inode, |