aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/extent_map.h
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2007-10-15 16:17:04 -0400
committerChris Mason <chris.mason@oracle.com>2008-09-25 11:03:56 -0400
commit09e71a326341f40111400c88aaf0498ef622824b (patch)
tree82e8f8a412a4403155fe17399456d2f8898715c0 /fs/btrfs/extent_map.h
parent14048ed0c415b8729b194e92c16d31c61628d216 (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.h4
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
65struct extent_buffer { 66struct 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
81typedef struct extent_map *(get_extent_t)(struct inode *inode, 81typedef struct extent_map *(get_extent_t)(struct inode *inode,