Whamcloud - gitweb
LU-2748 fsfilt: ext4_map_inode_page in osd and ldisk out of sync
[fs/lustre-release.git] / ldiskfs / kernel_patches / patches / sles11sp2 / export-ext4-3.0.patch
1 ---
2  fs/ext4/balloc.c       |    1 +
3  fs/ext4/ext4.h         |    2 ++
4  fs/ext4/ext4_extents.h |    9 +++++++++
5  fs/ext4/ext4_jbd2.c    |    2 ++
6  fs/ext4/extents.c      |   23 ++++++++++++++++-------
7  fs/ext4/ialloc.c       |    3 ++-
8  fs/ext4/inode.c        |    1 +
9  fs/ext4/mballoc.c      |    4 ++++
10  fs/ext4/super.c        |    9 +++++++++
11  9 files changed, 46 insertions(+), 8 deletions(-)
12
13 --- a/fs/ext4/balloc.c
14 +++ b/fs/ext4/balloc.c
15 @@ -231,6 +231,7 @@ struct ext4_group_desc * ext4_get_group_
16                 *bh = sbi->s_group_desc[group_desc];
17         return desc;
18  }
19 +EXPORT_SYMBOL(ext4_get_group_desc);
20
21  static int ext4_valid_block_bitmap(struct super_block *sb,
22                                         struct ext4_group_desc *desc,
23 --- a/fs/ext4/ext4.h
24 +++ b/fs/ext4/ext4.h
25 @@ -1783,6 +1783,8 @@ extern struct inode * ext4_orphan_get(st
26  extern unsigned long ext4_count_free_inodes(struct super_block *);
27  extern unsigned long ext4_count_dirs(struct super_block *);
28  extern void ext4_check_inodes_bitmap(struct super_block *);
29 +extern struct buffer_head *ext4_read_inode_bitmap(struct super_block *sb,
30 +                                                 ext4_group_t block_group);
31  extern void ext4_mark_bitmap_end(int start_bit, int end_bit, char *bitmap);
32  extern int ext4_init_inode_table(struct super_block *sb,
33                                  ext4_group_t group, int barrier);
34 --- a/fs/ext4/ext4_extents.h
35 +++ b/fs/ext4/ext4_extents.h
36 @@ -290,5 +290,14 @@ extern struct ext4_ext_path *ext4_ext_fi
37                                                         struct ext4_ext_path *);
38  extern void ext4_ext_drop_refs(struct ext4_ext_path *);
39  extern int ext4_ext_check_inode(struct inode *inode);
40 +extern int ext4_ext_search_right(struct inode *inode,
41 +                                struct ext4_ext_path *path,
42 +                                ext4_lblk_t *logical, ext4_fsblk_t *phys);
43 +extern int ext4_ext_search_left(struct inode *inode,
44 +                               struct ext4_ext_path *path,
45 +                               ext4_lblk_t *logical, ext4_fsblk_t *phys);
46 +extern int ext4_ext_walk_space(struct inode *inode, ext4_lblk_t block,
47 +                               ext4_lblk_t num, ext_prepare_callback func,
48 +                               void *cbdata);
49  #endif /* _EXT4_EXTENTS */
50
51 --- a/fs/ext4/ext4_jbd2.c
52 +++ b/fs/ext4/ext4_jbd2.c
53 @@ -19,6 +19,7 @@ int __ext4_journal_get_write_access(cons
54         }
55         return err;
56  }
57 +EXPORT_SYMBOL(__ext4_journal_get_write_access);
58
59  /*
60   * The ext4 forget function must perform a revoke if we are freeing data
61 @@ -150,3 +151,4 @@ int __ext4_handle_dirty_super(const char
62                 sb->s_dirt = 1;
63         return err;
64  }
65 +EXPORT_SYMBOL(__ext4_handle_dirty_metadata);
66 --- a/fs/ext4/extents.c
67 +++ b/fs/ext4/extents.c
68 @@ -1236,9 +1236,9 @@ out:
69   * returns 0 at @phys
70   * return value contains 0 (success) or error code
71   */
72 -static int ext4_ext_search_left(struct inode *inode,
73 -                               struct ext4_ext_path *path,
74 -                               ext4_lblk_t *logical, ext4_fsblk_t *phys)
75 +int ext4_ext_search_left(struct inode *inode,
76 +                        struct ext4_ext_path *path,
77 +                        ext4_lblk_t *logical, ext4_fsblk_t *phys)
78  {
79         struct ext4_extent_idx *ix;
80         struct ext4_extent *ex;
81 @@ -1301,9 +1301,9 @@ static int ext4_ext_search_left(struct i
82   * returns 0 at @phys
83   * return value contains 0 (success) or error code
84   */
85 -static int ext4_ext_search_right(struct inode *inode,
86 -                                struct ext4_ext_path *path,
87 -                                ext4_lblk_t *logical, ext4_fsblk_t *phys)
88 +int ext4_ext_search_right(struct inode *inode,
89 +                         struct ext4_ext_path *path,
90 +                         ext4_lblk_t *logical, ext4_fsblk_t *phys)
91  {
92         struct buffer_head *bh = NULL;
93         struct ext4_extent_header *eh;
94 @@ -1878,7 +1878,7 @@ cleanup:
95         return err;
96  }
97
98 -static int ext4_ext_walk_space(struct inode *inode, ext4_lblk_t block,
99 +extern int ext4_ext_walk_space(struct inode *inode, ext4_lblk_t block,
100                                ext4_lblk_t num, ext_prepare_callback func,
101                                void *cbdata)
102  {
103 @@ -4397,3 +4397,12 @@ int ext4_fiemap(struct inode *inode, str
104
105         return error;
106  }
107 +
108 +EXPORT_SYMBOL(ext4_ext_search_right);
109 +EXPORT_SYMBOL(ext4_ext_search_left);
110 +EXPORT_SYMBOL(ext4_ext_insert_extent);
111 +EXPORT_SYMBOL(ext4_mb_new_blocks);
112 +EXPORT_SYMBOL(ext4_mark_inode_dirty);
113 +EXPORT_SYMBOL(ext4_ext_walk_space);
114 +EXPORT_SYMBOL(ext4_ext_find_extent);
115 +EXPORT_SYMBOL(ext4_ext_drop_refs);
116 --- a/fs/ext4/ialloc.c
117 +++ b/fs/ext4/ialloc.c
118 @@ -98,7 +98,7 @@ static unsigned ext4_init_inode_bitmap(s
119   *
120   * Return buffer_head of bitmap on success or NULL.
121   */
122 -static struct buffer_head *
123 +struct buffer_head *
124  ext4_read_inode_bitmap(struct super_block *sb, ext4_group_t block_group)
125  {
126         struct ext4_group_desc *desc;
127 @@ -163,6 +163,7 @@ ext4_read_inode_bitmap(struct super_bloc
128         }
129         return bh;
130  }
131 +EXPORT_SYMBOL(ext4_read_inode_bitmap);
132
133  /*
134   * NOTE! When we get the inode, we're the only people
135 --- a/fs/ext4/inode.c
136 +++ b/fs/ext4/inode.c
137 @@ -5096,6 +5096,7 @@ bad_inode:
138         iget_failed(inode);
139         return ERR_PTR(ret);
140  }
141 +EXPORT_SYMBOL(ext4_iget);
142
143  static int ext4_inode_blocks_set(handle_t *handle,
144                                 struct ext4_inode *raw_inode,
145 --- a/fs/ext4/mballoc.c
146 +++ b/fs/ext4/mballoc.c
147 @@ -3852,6 +3852,7 @@ repeat:
148                 call_rcu(&(pa)->u.pa_rcu, ext4_mb_pa_callback);
149         }
150  }
151 +EXPORT_SYMBOL(ext4_discard_preallocations);
152
153  #ifdef CONFIG_EXT4_DEBUG
154  static void ext4_mb_show_ac(struct ext4_allocation_context *ac)
155 @@ -4972,3 +4973,6 @@ int ext4_trim_fs(struct super_block *sb,
156
157         return ret;
158  }
159 +
160 +EXPORT_SYMBOL(ext4_free_blocks);
161 +
162 --- a/fs/ext4/super.c
163 +++ b/fs/ext4/super.c
164 @@ -194,6 +194,7 @@ __u32 ext4_itable_unused_count(struct su
165                 (EXT4_DESC_SIZE(sb) >= EXT4_MIN_DESC_SIZE_64BIT ?
166                  (__u32)le16_to_cpu(bg->bg_itable_unused_hi) << 16 : 0);
167  }
168 +EXPORT_SYMBOL(ext4_itable_unused_count);
169
170  void ext4_block_bitmap_set(struct super_block *sb,
171                            struct ext4_group_desc *bg, ext4_fsblk_t blk)
172 @@ -378,6 +379,7 @@ void ext4_journal_abort_handle(const cha
173
174         jbd2_journal_abort_handle(handle);
175  }
176 +EXPORT_SYMBOL(ext4_journal_abort_handle);
177
178  static void __save_error_info(struct super_block *sb, const char *func,
179                             unsigned int line)
180 @@ -4272,6 +4274,7 @@ int ext4_force_commit(struct super_block
181
182         return ret;
183  }
184 +EXPORT_SYMBOL(ext4_force_commit);
185
186  static void ext4_write_super(struct super_block *sb)
187  {
188 @@ -5208,6 +5211,12 @@ static void __exit ext4_exit_fs(void)
189         ext4_exit_pageio();
190  }
191
192 +EXPORT_SYMBOL(ext4_xattr_get);
193 +EXPORT_SYMBOL(ext4_xattr_set_handle);
194 +EXPORT_SYMBOL(ext4_bread);
195 +EXPORT_SYMBOL(ext4_journal_start_sb);
196 +EXPORT_SYMBOL(__ext4_journal_stop);
197 +
198  MODULE_AUTHOR("Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others");
199  MODULE_DESCRIPTION("Fourth Extended Filesystem");
200  MODULE_LICENSE("GPL");