diff options
author | Chris Mason <chris.mason@oracle.com> | 2007-10-15 16:17:04 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2008-09-25 11:03:56 -0400 |
commit | 09e71a326341f40111400c88aaf0498ef622824b (patch) | |
tree | 82e8f8a412a4403155fe17399456d2f8898715c0 /fs/btrfs/extent_map.h | |
parent | 14048ed0c415b8729b194e92c16d31c61628d216 (diff) |
Btrfs: Use an array of pages in the extent buffers to reduce the cost of find_get_page
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/extent_map.h')
-rw-r--r-- | fs/btrfs/extent_map.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/btrfs/extent_map.h b/fs/btrfs/extent_map.h index 4ef8bdd68348..d74a2b3e3b5d 100644 --- a/fs/btrfs/extent_map.h +++ b/fs/btrfs/extent_map.h | |||
@@ -62,6 +62,7 @@ struct extent_state { | |||
62 | struct list_head list; | 62 | struct list_head list; |
63 | }; | 63 | }; |
64 | 64 | ||
65 | #define EXTENT_INLINE_PAGES 32 | ||
65 | struct extent_buffer { | 66 | struct extent_buffer { |
66 | u64 start; | 67 | u64 start; |
67 | unsigned long len; | 68 | unsigned long len; |
@@ -69,13 +70,12 @@ struct extent_buffer { | |||
69 | int flags; | 70 | int flags; |
70 | struct list_head list; | 71 | struct list_head list; |
71 | struct list_head leak_list; | 72 | struct list_head leak_list; |
72 | struct page *first_page; | ||
73 | struct page *last_page; | ||
74 | unsigned long alloc_addr; | 73 | unsigned long alloc_addr; |
75 | char *map_token; | 74 | char *map_token; |
76 | char *kaddr; | 75 | char *kaddr; |
77 | unsigned long map_start; | 76 | unsigned long map_start; |
78 | unsigned long map_len; | 77 | unsigned long map_len; |
78 | struct page *pages[EXTENT_INLINE_PAGES]; | ||
79 | }; | 79 | }; |
80 | 80 | ||
81 | typedef struct extent_map *(get_extent_t)(struct inode *inode, | 81 | typedef struct extent_map *(get_extent_t)(struct inode *inode, |