diff options
| -rw-r--r-- | fs/reiserfs/dir.c | 16 | ||||
| -rw-r--r-- | fs/reiserfs/fix_node.c | 50 | ||||
| -rw-r--r-- | fs/reiserfs/journal.c | 84 | ||||
| -rw-r--r-- | fs/reiserfs/namei.c | 16 | ||||
| -rw-r--r-- | fs/reiserfs/procfs.c | 3 | ||||
| -rw-r--r-- | fs/reiserfs/super.c | 6 | ||||
| -rw-r--r-- | fs/reiserfs/xattr.c | 11 | ||||
| -rw-r--r-- | include/linux/reiserfs_fs.h | 16 | ||||
| -rw-r--r-- | include/linux/reiserfs_fs_sb.h | 1 |
9 files changed, 49 insertions, 154 deletions
diff --git a/fs/reiserfs/dir.c b/fs/reiserfs/dir.c index 9dd71e807034..d71ac6579289 100644 --- a/fs/reiserfs/dir.c +++ b/fs/reiserfs/dir.c | |||
| @@ -150,18 +150,15 @@ static int reiserfs_readdir(struct file *filp, void *dirent, filldir_t filldir) | |||
| 150 | if (d_reclen <= 32) { | 150 | if (d_reclen <= 32) { |
| 151 | local_buf = small_buf; | 151 | local_buf = small_buf; |
| 152 | } else { | 152 | } else { |
| 153 | local_buf = | 153 | local_buf = kmalloc(d_reclen, |
| 154 | reiserfs_kmalloc(d_reclen, GFP_NOFS, | 154 | GFP_NOFS); |
| 155 | inode->i_sb); | ||
| 156 | if (!local_buf) { | 155 | if (!local_buf) { |
| 157 | pathrelse(&path_to_entry); | 156 | pathrelse(&path_to_entry); |
| 158 | ret = -ENOMEM; | 157 | ret = -ENOMEM; |
| 159 | goto out; | 158 | goto out; |
| 160 | } | 159 | } |
| 161 | if (item_moved(&tmp_ih, &path_to_entry)) { | 160 | if (item_moved(&tmp_ih, &path_to_entry)) { |
| 162 | reiserfs_kfree(local_buf, | 161 | kfree(local_buf); |
| 163 | d_reclen, | ||
| 164 | inode->i_sb); | ||
| 165 | goto research; | 162 | goto research; |
| 166 | } | 163 | } |
| 167 | } | 164 | } |
| @@ -174,15 +171,12 @@ static int reiserfs_readdir(struct file *filp, void *dirent, filldir_t filldir) | |||
| 174 | (dirent, local_buf, d_reclen, d_off, d_ino, | 171 | (dirent, local_buf, d_reclen, d_off, d_ino, |
| 175 | DT_UNKNOWN) < 0) { | 172 | DT_UNKNOWN) < 0) { |
| 176 | if (local_buf != small_buf) { | 173 | if (local_buf != small_buf) { |
| 177 | reiserfs_kfree(local_buf, | 174 | kfree(local_buf); |
| 178 | d_reclen, | ||
| 179 | inode->i_sb); | ||
| 180 | } | 175 | } |
| 181 | goto end; | 176 | goto end; |
| 182 | } | 177 | } |
| 183 | if (local_buf != small_buf) { | 178 | if (local_buf != small_buf) { |
| 184 | reiserfs_kfree(local_buf, d_reclen, | 179 | kfree(local_buf); |
| 185 | inode->i_sb); | ||
| 186 | } | 180 | } |
| 187 | // next entry should be looked for with such offset | 181 | // next entry should be looked for with such offset |
| 188 | next_pos = deh_offset(deh) + 1; | 182 | next_pos = deh_offset(deh) + 1; |
diff --git a/fs/reiserfs/fix_node.c b/fs/reiserfs/fix_node.c index 45829889dcdc..aa22588019ec 100644 --- a/fs/reiserfs/fix_node.c +++ b/fs/reiserfs/fix_node.c | |||
| @@ -2021,38 +2021,6 @@ static int get_neighbors(struct tree_balance *p_s_tb, int n_h) | |||
| 2021 | return CARRY_ON; | 2021 | return CARRY_ON; |
| 2022 | } | 2022 | } |
| 2023 | 2023 | ||
| 2024 | #ifdef CONFIG_REISERFS_CHECK | ||
| 2025 | void *reiserfs_kmalloc(size_t size, gfp_t flags, struct super_block *s) | ||
| 2026 | { | ||
| 2027 | void *vp; | ||
| 2028 | static size_t malloced; | ||
| 2029 | |||
| 2030 | vp = kmalloc(size, flags); | ||
| 2031 | if (vp) { | ||
| 2032 | REISERFS_SB(s)->s_kmallocs += size; | ||
| 2033 | if (REISERFS_SB(s)->s_kmallocs > malloced + 200000) { | ||
| 2034 | reiserfs_warning(s, | ||
| 2035 | "vs-8301: reiserfs_kmalloc: allocated memory %d", | ||
| 2036 | REISERFS_SB(s)->s_kmallocs); | ||
| 2037 | malloced = REISERFS_SB(s)->s_kmallocs; | ||
| 2038 | } | ||
| 2039 | } | ||
| 2040 | return vp; | ||
| 2041 | } | ||
| 2042 | |||
| 2043 | void reiserfs_kfree(const void *vp, size_t size, struct super_block *s) | ||
| 2044 | { | ||
| 2045 | kfree(vp); | ||
| 2046 | |||
| 2047 | REISERFS_SB(s)->s_kmallocs -= size; | ||
| 2048 | if (REISERFS_SB(s)->s_kmallocs < 0) | ||
| 2049 | reiserfs_warning(s, | ||
| 2050 | "vs-8302: reiserfs_kfree: allocated memory %d", | ||
| 2051 | REISERFS_SB(s)->s_kmallocs); | ||
| 2052 | |||
| 2053 | } | ||
| 2054 | #endif | ||
| 2055 | |||
| 2056 | static int get_virtual_node_size(struct super_block *sb, struct buffer_head *bh) | 2024 | static int get_virtual_node_size(struct super_block *sb, struct buffer_head *bh) |
| 2057 | { | 2025 | { |
| 2058 | int max_num_of_items; | 2026 | int max_num_of_items; |
| @@ -2086,7 +2054,7 @@ static int get_mem_for_virtual_node(struct tree_balance *tb) | |||
| 2086 | /* we have to allocate more memory for virtual node */ | 2054 | /* we have to allocate more memory for virtual node */ |
| 2087 | if (tb->vn_buf) { | 2055 | if (tb->vn_buf) { |
| 2088 | /* free memory allocated before */ | 2056 | /* free memory allocated before */ |
| 2089 | reiserfs_kfree(tb->vn_buf, tb->vn_buf_size, tb->tb_sb); | 2057 | kfree(tb->vn_buf); |
| 2090 | /* this is not needed if kfree is atomic */ | 2058 | /* this is not needed if kfree is atomic */ |
| 2091 | check_fs = 1; | 2059 | check_fs = 1; |
| 2092 | } | 2060 | } |
| @@ -2095,24 +2063,15 @@ static int get_mem_for_virtual_node(struct tree_balance *tb) | |||
| 2095 | tb->vn_buf_size = size; | 2063 | tb->vn_buf_size = size; |
| 2096 | 2064 | ||
| 2097 | /* get memory for virtual item */ | 2065 | /* get memory for virtual item */ |
| 2098 | buf = | 2066 | buf = kmalloc(size, GFP_ATOMIC | __GFP_NOWARN); |
| 2099 | reiserfs_kmalloc(size, GFP_ATOMIC | __GFP_NOWARN, | ||
| 2100 | tb->tb_sb); | ||
| 2101 | if (!buf) { | 2067 | if (!buf) { |
| 2102 | /* getting memory with GFP_KERNEL priority may involve | 2068 | /* getting memory with GFP_KERNEL priority may involve |
| 2103 | balancing now (due to indirect_to_direct conversion on | 2069 | balancing now (due to indirect_to_direct conversion on |
| 2104 | dcache shrinking). So, release path and collected | 2070 | dcache shrinking). So, release path and collected |
| 2105 | resources here */ | 2071 | resources here */ |
| 2106 | free_buffers_in_tb(tb); | 2072 | free_buffers_in_tb(tb); |
| 2107 | buf = reiserfs_kmalloc(size, GFP_NOFS, tb->tb_sb); | 2073 | buf = kmalloc(size, GFP_NOFS); |
| 2108 | if (!buf) { | 2074 | if (!buf) { |
| 2109 | #ifdef CONFIG_REISERFS_CHECK | ||
| 2110 | reiserfs_warning(tb->tb_sb, | ||
| 2111 | "vs-8345: get_mem_for_virtual_node: " | ||
| 2112 | "kmalloc failed. reiserfs kmalloced %d bytes", | ||
| 2113 | REISERFS_SB(tb->tb_sb)-> | ||
| 2114 | s_kmallocs); | ||
| 2115 | #endif | ||
| 2116 | tb->vn_buf_size = 0; | 2075 | tb->vn_buf_size = 0; |
| 2117 | } | 2076 | } |
| 2118 | tb->vn_buf = buf; | 2077 | tb->vn_buf = buf; |
| @@ -2619,7 +2578,6 @@ void unfix_nodes(struct tree_balance *tb) | |||
| 2619 | } | 2578 | } |
| 2620 | } | 2579 | } |
| 2621 | 2580 | ||
| 2622 | if (tb->vn_buf) | 2581 | kfree(tb->vn_buf); |
| 2623 | reiserfs_kfree(tb->vn_buf, tb->vn_buf_size, tb->tb_sb); | ||
| 2624 | 2582 | ||
| 2625 | } | 2583 | } |
diff --git a/fs/reiserfs/journal.c b/fs/reiserfs/journal.c index 4491fcf2a0e6..16b526fd20b9 100644 --- a/fs/reiserfs/journal.c +++ b/fs/reiserfs/journal.c | |||
| @@ -152,18 +152,16 @@ static struct reiserfs_bitmap_node *allocate_bitmap_node(struct super_block | |||
| 152 | struct reiserfs_bitmap_node *bn; | 152 | struct reiserfs_bitmap_node *bn; |
| 153 | static int id; | 153 | static int id; |
| 154 | 154 | ||
| 155 | bn = reiserfs_kmalloc(sizeof(struct reiserfs_bitmap_node), GFP_NOFS, | 155 | bn = kmalloc(sizeof(struct reiserfs_bitmap_node), GFP_NOFS); |
| 156 | p_s_sb); | ||
| 157 | if (!bn) { | 156 | if (!bn) { |
| 158 | return NULL; | 157 | return NULL; |
| 159 | } | 158 | } |
| 160 | bn->data = reiserfs_kmalloc(p_s_sb->s_blocksize, GFP_NOFS, p_s_sb); | 159 | bn->data = kzalloc(p_s_sb->s_blocksize, GFP_NOFS); |
| 161 | if (!bn->data) { | 160 | if (!bn->data) { |
| 162 | reiserfs_kfree(bn, sizeof(struct reiserfs_bitmap_node), p_s_sb); | 161 | kfree(bn); |
| 163 | return NULL; | 162 | return NULL; |
| 164 | } | 163 | } |
| 165 | bn->id = id++; | 164 | bn->id = id++; |
| 166 | memset(bn->data, 0, p_s_sb->s_blocksize); | ||
| 167 | INIT_LIST_HEAD(&bn->list); | 165 | INIT_LIST_HEAD(&bn->list); |
| 168 | return bn; | 166 | return bn; |
| 169 | } | 167 | } |
| @@ -197,8 +195,8 @@ static inline void free_bitmap_node(struct super_block *p_s_sb, | |||
| 197 | struct reiserfs_journal *journal = SB_JOURNAL(p_s_sb); | 195 | struct reiserfs_journal *journal = SB_JOURNAL(p_s_sb); |
| 198 | journal->j_used_bitmap_nodes--; | 196 | journal->j_used_bitmap_nodes--; |
| 199 | if (journal->j_free_bitmap_nodes > REISERFS_MAX_BITMAP_NODES) { | 197 | if (journal->j_free_bitmap_nodes > REISERFS_MAX_BITMAP_NODES) { |
| 200 | reiserfs_kfree(bn->data, p_s_sb->s_blocksize, p_s_sb); | 198 | kfree(bn->data); |
| 201 | reiserfs_kfree(bn, sizeof(struct reiserfs_bitmap_node), p_s_sb); | 199 | kfree(bn); |
| 202 | } else { | 200 | } else { |
| 203 | list_add(&bn->list, &journal->j_bitmap_nodes); | 201 | list_add(&bn->list, &journal->j_bitmap_nodes); |
| 204 | journal->j_free_bitmap_nodes++; | 202 | journal->j_free_bitmap_nodes++; |
| @@ -276,8 +274,8 @@ static int free_bitmap_nodes(struct super_block *p_s_sb) | |||
| 276 | while (next != &journal->j_bitmap_nodes) { | 274 | while (next != &journal->j_bitmap_nodes) { |
| 277 | bn = list_entry(next, struct reiserfs_bitmap_node, list); | 275 | bn = list_entry(next, struct reiserfs_bitmap_node, list); |
| 278 | list_del(next); | 276 | list_del(next); |
| 279 | reiserfs_kfree(bn->data, p_s_sb->s_blocksize, p_s_sb); | 277 | kfree(bn->data); |
| 280 | reiserfs_kfree(bn, sizeof(struct reiserfs_bitmap_node), p_s_sb); | 278 | kfree(bn); |
| 281 | next = journal->j_bitmap_nodes.next; | 279 | next = journal->j_bitmap_nodes.next; |
| 282 | journal->j_free_bitmap_nodes--; | 280 | journal->j_free_bitmap_nodes--; |
| 283 | } | 281 | } |
| @@ -581,7 +579,7 @@ static inline void put_journal_list(struct super_block *s, | |||
| 581 | jl->j_trans_id, jl->j_refcount); | 579 | jl->j_trans_id, jl->j_refcount); |
| 582 | } | 580 | } |
| 583 | if (--jl->j_refcount == 0) | 581 | if (--jl->j_refcount == 0) |
| 584 | reiserfs_kfree(jl, sizeof(struct reiserfs_journal_list), s); | 582 | kfree(jl); |
| 585 | } | 583 | } |
| 586 | 584 | ||
| 587 | /* | 585 | /* |
| @@ -1818,8 +1816,7 @@ void remove_journal_hash(struct super_block *sb, | |||
| 1818 | static void free_journal_ram(struct super_block *p_s_sb) | 1816 | static void free_journal_ram(struct super_block *p_s_sb) |
| 1819 | { | 1817 | { |
| 1820 | struct reiserfs_journal *journal = SB_JOURNAL(p_s_sb); | 1818 | struct reiserfs_journal *journal = SB_JOURNAL(p_s_sb); |
| 1821 | reiserfs_kfree(journal->j_current_jl, | 1819 | kfree(journal->j_current_jl); |
| 1822 | sizeof(struct reiserfs_journal_list), p_s_sb); | ||
| 1823 | journal->j_num_lists--; | 1820 | journal->j_num_lists--; |
| 1824 | 1821 | ||
| 1825 | vfree(journal->j_cnode_free_orig); | 1822 | vfree(journal->j_cnode_free_orig); |
| @@ -2093,21 +2090,15 @@ static int journal_read_transaction(struct super_block *p_s_sb, | |||
| 2093 | } | 2090 | } |
| 2094 | trans_id = get_desc_trans_id(desc); | 2091 | trans_id = get_desc_trans_id(desc); |
| 2095 | /* now we know we've got a good transaction, and it was inside the valid time ranges */ | 2092 | /* now we know we've got a good transaction, and it was inside the valid time ranges */ |
| 2096 | log_blocks = | 2093 | log_blocks = kmalloc(get_desc_trans_len(desc) * |
| 2097 | reiserfs_kmalloc(get_desc_trans_len(desc) * | 2094 | sizeof(struct buffer_head *), GFP_NOFS); |
| 2098 | sizeof(struct buffer_head *), GFP_NOFS, p_s_sb); | 2095 | real_blocks = kmalloc(get_desc_trans_len(desc) * |
| 2099 | real_blocks = | 2096 | sizeof(struct buffer_head *), GFP_NOFS); |
| 2100 | reiserfs_kmalloc(get_desc_trans_len(desc) * | ||
| 2101 | sizeof(struct buffer_head *), GFP_NOFS, p_s_sb); | ||
| 2102 | if (!log_blocks || !real_blocks) { | 2097 | if (!log_blocks || !real_blocks) { |
| 2103 | brelse(c_bh); | 2098 | brelse(c_bh); |
| 2104 | brelse(d_bh); | 2099 | brelse(d_bh); |
| 2105 | reiserfs_kfree(log_blocks, | 2100 | kfree(log_blocks); |
| 2106 | get_desc_trans_len(desc) * | 2101 | kfree(real_blocks); |
| 2107 | sizeof(struct buffer_head *), p_s_sb); | ||
| 2108 | reiserfs_kfree(real_blocks, | ||
| 2109 | get_desc_trans_len(desc) * | ||
| 2110 | sizeof(struct buffer_head *), p_s_sb); | ||
| 2111 | reiserfs_warning(p_s_sb, | 2102 | reiserfs_warning(p_s_sb, |
| 2112 | "journal-1169: kmalloc failed, unable to mount FS"); | 2103 | "journal-1169: kmalloc failed, unable to mount FS"); |
| 2113 | return -1; | 2104 | return -1; |
| @@ -2145,12 +2136,8 @@ static int journal_read_transaction(struct super_block *p_s_sb, | |||
| 2145 | brelse_array(real_blocks, i); | 2136 | brelse_array(real_blocks, i); |
| 2146 | brelse(c_bh); | 2137 | brelse(c_bh); |
| 2147 | brelse(d_bh); | 2138 | brelse(d_bh); |
| 2148 | reiserfs_kfree(log_blocks, | 2139 | kfree(log_blocks); |
| 2149 | get_desc_trans_len(desc) * | 2140 | kfree(real_blocks); |
| 2150 | sizeof(struct buffer_head *), p_s_sb); | ||
| 2151 | reiserfs_kfree(real_blocks, | ||
| 2152 | get_desc_trans_len(desc) * | ||
| 2153 | sizeof(struct buffer_head *), p_s_sb); | ||
| 2154 | return -1; | 2141 | return -1; |
| 2155 | } | 2142 | } |
| 2156 | } | 2143 | } |
| @@ -2166,12 +2153,8 @@ static int journal_read_transaction(struct super_block *p_s_sb, | |||
| 2166 | brelse_array(real_blocks, get_desc_trans_len(desc)); | 2153 | brelse_array(real_blocks, get_desc_trans_len(desc)); |
| 2167 | brelse(c_bh); | 2154 | brelse(c_bh); |
| 2168 | brelse(d_bh); | 2155 | brelse(d_bh); |
| 2169 | reiserfs_kfree(log_blocks, | 2156 | kfree(log_blocks); |
| 2170 | get_desc_trans_len(desc) * | 2157 | kfree(real_blocks); |
| 2171 | sizeof(struct buffer_head *), p_s_sb); | ||
| 2172 | reiserfs_kfree(real_blocks, | ||
| 2173 | get_desc_trans_len(desc) * | ||
| 2174 | sizeof(struct buffer_head *), p_s_sb); | ||
| 2175 | return -1; | 2158 | return -1; |
| 2176 | } | 2159 | } |
| 2177 | memcpy(real_blocks[i]->b_data, log_blocks[i]->b_data, | 2160 | memcpy(real_blocks[i]->b_data, log_blocks[i]->b_data, |
| @@ -2193,12 +2176,8 @@ static int journal_read_transaction(struct super_block *p_s_sb, | |||
| 2193 | get_desc_trans_len(desc) - i); | 2176 | get_desc_trans_len(desc) - i); |
| 2194 | brelse(c_bh); | 2177 | brelse(c_bh); |
| 2195 | brelse(d_bh); | 2178 | brelse(d_bh); |
| 2196 | reiserfs_kfree(log_blocks, | 2179 | kfree(log_blocks); |
| 2197 | get_desc_trans_len(desc) * | 2180 | kfree(real_blocks); |
| 2198 | sizeof(struct buffer_head *), p_s_sb); | ||
| 2199 | reiserfs_kfree(real_blocks, | ||
| 2200 | get_desc_trans_len(desc) * | ||
| 2201 | sizeof(struct buffer_head *), p_s_sb); | ||
| 2202 | return -1; | 2181 | return -1; |
| 2203 | } | 2182 | } |
| 2204 | brelse(real_blocks[i]); | 2183 | brelse(real_blocks[i]); |
| @@ -2217,12 +2196,8 @@ static int journal_read_transaction(struct super_block *p_s_sb, | |||
| 2217 | journal->j_trans_id = trans_id + 1; | 2196 | journal->j_trans_id = trans_id + 1; |
| 2218 | brelse(c_bh); | 2197 | brelse(c_bh); |
| 2219 | brelse(d_bh); | 2198 | brelse(d_bh); |
| 2220 | reiserfs_kfree(log_blocks, | 2199 | kfree(log_blocks); |
| 2221 | le32_to_cpu(desc->j_len) * sizeof(struct buffer_head *), | 2200 | kfree(real_blocks); |
| 2222 | p_s_sb); | ||
| 2223 | reiserfs_kfree(real_blocks, | ||
| 2224 | le32_to_cpu(desc->j_len) * sizeof(struct buffer_head *), | ||
| 2225 | p_s_sb); | ||
| 2226 | return 0; | 2201 | return 0; |
| 2227 | } | 2202 | } |
| 2228 | 2203 | ||
| @@ -2472,13 +2447,11 @@ static struct reiserfs_journal_list *alloc_journal_list(struct super_block *s) | |||
| 2472 | { | 2447 | { |
| 2473 | struct reiserfs_journal_list *jl; | 2448 | struct reiserfs_journal_list *jl; |
| 2474 | retry: | 2449 | retry: |
| 2475 | jl = reiserfs_kmalloc(sizeof(struct reiserfs_journal_list), GFP_NOFS, | 2450 | jl = kzalloc(sizeof(struct reiserfs_journal_list), GFP_NOFS); |
| 2476 | s); | ||
| 2477 | if (!jl) { | 2451 | if (!jl) { |
| 2478 | yield(); | 2452 | yield(); |
| 2479 | goto retry; | 2453 | goto retry; |
| 2480 | } | 2454 | } |
| 2481 | memset(jl, 0, sizeof(*jl)); | ||
| 2482 | INIT_LIST_HEAD(&jl->j_list); | 2455 | INIT_LIST_HEAD(&jl->j_list); |
| 2483 | INIT_LIST_HEAD(&jl->j_working_list); | 2456 | INIT_LIST_HEAD(&jl->j_working_list); |
| 2484 | INIT_LIST_HEAD(&jl->j_tail_bh_list); | 2457 | INIT_LIST_HEAD(&jl->j_tail_bh_list); |
| @@ -3042,14 +3015,12 @@ struct reiserfs_transaction_handle *reiserfs_persistent_transaction(struct | |||
| 3042 | } | 3015 | } |
| 3043 | return th; | 3016 | return th; |
| 3044 | } | 3017 | } |
| 3045 | th = reiserfs_kmalloc(sizeof(struct reiserfs_transaction_handle), | 3018 | th = kmalloc(sizeof(struct reiserfs_transaction_handle), GFP_NOFS); |
| 3046 | GFP_NOFS, s); | ||
| 3047 | if (!th) | 3019 | if (!th) |
| 3048 | return NULL; | 3020 | return NULL; |
| 3049 | ret = journal_begin(th, s, nblocks); | 3021 | ret = journal_begin(th, s, nblocks); |
| 3050 | if (ret) { | 3022 | if (ret) { |
| 3051 | reiserfs_kfree(th, sizeof(struct reiserfs_transaction_handle), | 3023 | kfree(th); |
| 3052 | s); | ||
| 3053 | return NULL; | 3024 | return NULL; |
| 3054 | } | 3025 | } |
| 3055 | 3026 | ||
| @@ -3067,8 +3038,7 @@ int reiserfs_end_persistent_transaction(struct reiserfs_transaction_handle *th) | |||
| 3067 | ret = -EIO; | 3038 | ret = -EIO; |
| 3068 | if (th->t_refcount == 0) { | 3039 | if (th->t_refcount == 0) { |
| 3069 | SB_JOURNAL(s)->j_persistent_trans--; | 3040 | SB_JOURNAL(s)->j_persistent_trans--; |
| 3070 | reiserfs_kfree(th, sizeof(struct reiserfs_transaction_handle), | 3041 | kfree(th); |
| 3071 | s); | ||
| 3072 | } | 3042 | } |
| 3073 | return ret; | 3043 | return ret; |
| 3074 | } | 3044 | } |
diff --git a/fs/reiserfs/namei.c b/fs/reiserfs/namei.c index 8f8d8d01107c..c8123308e060 100644 --- a/fs/reiserfs/namei.c +++ b/fs/reiserfs/namei.c | |||
| @@ -456,7 +456,7 @@ static int reiserfs_add_entry(struct reiserfs_transaction_handle *th, | |||
| 456 | /* get memory for composing the entry */ | 456 | /* get memory for composing the entry */ |
| 457 | buflen = DEH_SIZE + ROUND_UP(namelen); | 457 | buflen = DEH_SIZE + ROUND_UP(namelen); |
| 458 | if (buflen > sizeof(small_buf)) { | 458 | if (buflen > sizeof(small_buf)) { |
| 459 | buffer = reiserfs_kmalloc(buflen, GFP_NOFS, dir->i_sb); | 459 | buffer = kmalloc(buflen, GFP_NOFS); |
| 460 | if (buffer == 0) | 460 | if (buffer == 0) |
| 461 | return -ENOMEM; | 461 | return -ENOMEM; |
| 462 | } else | 462 | } else |
| @@ -490,7 +490,7 @@ static int reiserfs_add_entry(struct reiserfs_transaction_handle *th, | |||
| 490 | retval = reiserfs_find_entry(dir, name, namelen, &path, &de); | 490 | retval = reiserfs_find_entry(dir, name, namelen, &path, &de); |
| 491 | if (retval != NAME_NOT_FOUND) { | 491 | if (retval != NAME_NOT_FOUND) { |
| 492 | if (buffer != small_buf) | 492 | if (buffer != small_buf) |
| 493 | reiserfs_kfree(buffer, buflen, dir->i_sb); | 493 | kfree(buffer); |
| 494 | pathrelse(&path); | 494 | pathrelse(&path); |
| 495 | 495 | ||
| 496 | if (retval == IO_ERROR) { | 496 | if (retval == IO_ERROR) { |
| @@ -515,7 +515,7 @@ static int reiserfs_add_entry(struct reiserfs_transaction_handle *th, | |||
| 515 | reiserfs_warning(dir->i_sb, | 515 | reiserfs_warning(dir->i_sb, |
| 516 | "reiserfs_add_entry: Congratulations! we have got hash function screwed up"); | 516 | "reiserfs_add_entry: Congratulations! we have got hash function screwed up"); |
| 517 | if (buffer != small_buf) | 517 | if (buffer != small_buf) |
| 518 | reiserfs_kfree(buffer, buflen, dir->i_sb); | 518 | kfree(buffer); |
| 519 | pathrelse(&path); | 519 | pathrelse(&path); |
| 520 | return -EBUSY; | 520 | return -EBUSY; |
| 521 | } | 521 | } |
| @@ -535,7 +535,7 @@ static int reiserfs_add_entry(struct reiserfs_transaction_handle *th, | |||
| 535 | &entry_key); | 535 | &entry_key); |
| 536 | 536 | ||
| 537 | if (buffer != small_buf) | 537 | if (buffer != small_buf) |
| 538 | reiserfs_kfree(buffer, buflen, dir->i_sb); | 538 | kfree(buffer); |
| 539 | pathrelse(&path); | 539 | pathrelse(&path); |
| 540 | return -EBUSY; | 540 | return -EBUSY; |
| 541 | } | 541 | } |
| @@ -546,7 +546,7 @@ static int reiserfs_add_entry(struct reiserfs_transaction_handle *th, | |||
| 546 | reiserfs_paste_into_item(th, &path, &entry_key, dir, buffer, | 546 | reiserfs_paste_into_item(th, &path, &entry_key, dir, buffer, |
| 547 | paste_size); | 547 | paste_size); |
| 548 | if (buffer != small_buf) | 548 | if (buffer != small_buf) |
| 549 | reiserfs_kfree(buffer, buflen, dir->i_sb); | 549 | kfree(buffer); |
| 550 | if (retval) { | 550 | if (retval) { |
| 551 | reiserfs_check_path(&path); | 551 | reiserfs_check_path(&path); |
| 552 | return retval; | 552 | return retval; |
| @@ -1065,7 +1065,7 @@ static int reiserfs_symlink(struct inode *parent_dir, | |||
| 1065 | goto out_failed; | 1065 | goto out_failed; |
| 1066 | } | 1066 | } |
| 1067 | 1067 | ||
| 1068 | name = reiserfs_kmalloc(item_len, GFP_NOFS, parent_dir->i_sb); | 1068 | name = kmalloc(item_len, GFP_NOFS); |
| 1069 | if (!name) { | 1069 | if (!name) { |
| 1070 | drop_new_inode(inode); | 1070 | drop_new_inode(inode); |
| 1071 | retval = -ENOMEM; | 1071 | retval = -ENOMEM; |
| @@ -1079,14 +1079,14 @@ static int reiserfs_symlink(struct inode *parent_dir, | |||
| 1079 | retval = journal_begin(&th, parent_dir->i_sb, jbegin_count); | 1079 | retval = journal_begin(&th, parent_dir->i_sb, jbegin_count); |
| 1080 | if (retval) { | 1080 | if (retval) { |
| 1081 | drop_new_inode(inode); | 1081 | drop_new_inode(inode); |
| 1082 | reiserfs_kfree(name, item_len, parent_dir->i_sb); | 1082 | kfree(name); |
| 1083 | goto out_failed; | 1083 | goto out_failed; |
| 1084 | } | 1084 | } |
| 1085 | 1085 | ||
| 1086 | retval = | 1086 | retval = |
| 1087 | reiserfs_new_inode(&th, parent_dir, mode, name, strlen(symname), | 1087 | reiserfs_new_inode(&th, parent_dir, mode, name, strlen(symname), |
| 1088 | dentry, inode); | 1088 | dentry, inode); |
| 1089 | reiserfs_kfree(name, item_len, parent_dir->i_sb); | 1089 | kfree(name); |
| 1090 | if (retval) { /* reiserfs_new_inode iputs for us */ | 1090 | if (retval) { /* reiserfs_new_inode iputs for us */ |
| 1091 | goto out_failed; | 1091 | goto out_failed; |
| 1092 | } | 1092 | } |
diff --git a/fs/reiserfs/procfs.c b/fs/reiserfs/procfs.c index fc2f43c75df4..ef6caed9336b 100644 --- a/fs/reiserfs/procfs.c +++ b/fs/reiserfs/procfs.c | |||
| @@ -88,7 +88,6 @@ static int show_super(struct seq_file *m, struct super_block *sb) | |||
| 88 | seq_printf(m, "state: \t%s\n" | 88 | seq_printf(m, "state: \t%s\n" |
| 89 | "mount options: \t%s%s%s%s%s%s%s%s%s%s%s\n" | 89 | "mount options: \t%s%s%s%s%s%s%s%s%s%s%s\n" |
| 90 | "gen. counter: \t%i\n" | 90 | "gen. counter: \t%i\n" |
| 91 | "s_kmallocs: \t%i\n" | ||
| 92 | "s_disk_reads: \t%i\n" | 91 | "s_disk_reads: \t%i\n" |
| 93 | "s_disk_writes: \t%i\n" | 92 | "s_disk_writes: \t%i\n" |
| 94 | "s_fix_nodes: \t%i\n" | 93 | "s_fix_nodes: \t%i\n" |
| @@ -128,7 +127,7 @@ static int show_super(struct seq_file *m, struct super_block *sb) | |||
| 128 | "SMALL_TAILS " : "NO_TAILS ", | 127 | "SMALL_TAILS " : "NO_TAILS ", |
| 129 | replay_only(sb) ? "REPLAY_ONLY " : "", | 128 | replay_only(sb) ? "REPLAY_ONLY " : "", |
| 130 | convert_reiserfs(sb) ? "CONV " : "", | 129 | convert_reiserfs(sb) ? "CONV " : "", |
| 131 | atomic_read(&r->s_generation_counter), SF(s_kmallocs), | 130 | atomic_read(&r->s_generation_counter), |
| 132 | SF(s_disk_reads), SF(s_disk_writes), SF(s_fix_nodes), | 131 | SF(s_disk_reads), SF(s_disk_writes), SF(s_fix_nodes), |
| 133 | SF(s_do_balance), SF(s_unneeded_left_neighbor), | 132 | SF(s_do_balance), SF(s_unneeded_left_neighbor), |
| 134 | SF(s_good_search_by_key_reada), SF(s_bmaps), | 133 | SF(s_good_search_by_key_reada), SF(s_bmaps), |
diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c index 397d9590c8f2..77891de0e02e 100644 --- a/fs/reiserfs/super.c +++ b/fs/reiserfs/super.c | |||
| @@ -472,12 +472,6 @@ static void reiserfs_put_super(struct super_block *s) | |||
| 472 | 472 | ||
| 473 | print_statistics(s); | 473 | print_statistics(s); |
| 474 | 474 | ||
| 475 | if (REISERFS_SB(s)->s_kmallocs != 0) { | ||
| 476 | reiserfs_warning(s, | ||
| 477 | "vs-2004: reiserfs_put_super: allocated memory left %d", | ||
| 478 | REISERFS_SB(s)->s_kmallocs); | ||
| 479 | } | ||
| 480 | |||
| 481 | if (REISERFS_SB(s)->reserved_blocks != 0) { | 475 | if (REISERFS_SB(s)->reserved_blocks != 0) { |
| 482 | reiserfs_warning(s, | 476 | reiserfs_warning(s, |
| 483 | "green-2005: reiserfs_put_super: reserved blocks left %d", | 477 | "green-2005: reiserfs_put_super: reserved blocks left %d", |
diff --git a/fs/reiserfs/xattr.c b/fs/reiserfs/xattr.c index cc061bfd437b..4f0db4e54517 100644 --- a/fs/reiserfs/xattr.c +++ b/fs/reiserfs/xattr.c | |||
| @@ -368,15 +368,13 @@ static int __xattr_readdir(struct file *filp, void *dirent, filldir_t filldir) | |||
| 368 | if (d_reclen <= 32) { | 368 | if (d_reclen <= 32) { |
| 369 | local_buf = small_buf; | 369 | local_buf = small_buf; |
| 370 | } else { | 370 | } else { |
| 371 | local_buf = | 371 | local_buf = kmalloc(d_reclen, GFP_NOFS); |
| 372 | reiserfs_kmalloc(d_reclen, GFP_NOFS, inode->i_sb); | ||
| 373 | if (!local_buf) { | 372 | if (!local_buf) { |
| 374 | pathrelse(&path_to_entry); | 373 | pathrelse(&path_to_entry); |
| 375 | return -ENOMEM; | 374 | return -ENOMEM; |
| 376 | } | 375 | } |
| 377 | if (item_moved(&tmp_ih, &path_to_entry)) { | 376 | if (item_moved(&tmp_ih, &path_to_entry)) { |
| 378 | reiserfs_kfree(local_buf, d_reclen, | 377 | kfree(local_buf); |
| 379 | inode->i_sb); | ||
| 380 | 378 | ||
| 381 | /* sigh, must retry. Do this same offset again */ | 379 | /* sigh, must retry. Do this same offset again */ |
| 382 | next_pos = d_off; | 380 | next_pos = d_off; |
| @@ -399,13 +397,12 @@ static int __xattr_readdir(struct file *filp, void *dirent, filldir_t filldir) | |||
| 399 | if (filldir(dirent, local_buf, d_reclen, d_off, d_ino, | 397 | if (filldir(dirent, local_buf, d_reclen, d_off, d_ino, |
| 400 | DT_UNKNOWN) < 0) { | 398 | DT_UNKNOWN) < 0) { |
| 401 | if (local_buf != small_buf) { | 399 | if (local_buf != small_buf) { |
| 402 | reiserfs_kfree(local_buf, d_reclen, | 400 | kfree(local_buf); |
| 403 | inode->i_sb); | ||
| 404 | } | 401 | } |
| 405 | goto end; | 402 | goto end; |
| 406 | } | 403 | } |
| 407 | if (local_buf != small_buf) { | 404 | if (local_buf != small_buf) { |
| 408 | reiserfs_kfree(local_buf, d_reclen, inode->i_sb); | 405 | kfree(local_buf); |
| 409 | } | 406 | } |
| 410 | } /* while */ | 407 | } /* while */ |
| 411 | 408 | ||
diff --git a/include/linux/reiserfs_fs.h b/include/linux/reiserfs_fs.h index e276c5ba2bb7..7d51149bd793 100644 --- a/include/linux/reiserfs_fs.h +++ b/include/linux/reiserfs_fs.h | |||
| @@ -1971,22 +1971,6 @@ extern struct file_operations reiserfs_file_operations; | |||
| 1971 | extern struct address_space_operations reiserfs_address_space_operations; | 1971 | extern struct address_space_operations reiserfs_address_space_operations; |
| 1972 | 1972 | ||
| 1973 | /* fix_nodes.c */ | 1973 | /* fix_nodes.c */ |
| 1974 | #ifdef CONFIG_REISERFS_CHECK | ||
| 1975 | void *reiserfs_kmalloc(size_t size, gfp_t flags, struct super_block *s); | ||
| 1976 | void reiserfs_kfree(const void *vp, size_t size, struct super_block *s); | ||
| 1977 | #else | ||
| 1978 | static inline void *reiserfs_kmalloc(size_t size, int flags, | ||
| 1979 | struct super_block *s) | ||
| 1980 | { | ||
| 1981 | return kmalloc(size, flags); | ||
| 1982 | } | ||
| 1983 | |||
| 1984 | static inline void reiserfs_kfree(const void *vp, size_t size, | ||
| 1985 | struct super_block *s) | ||
| 1986 | { | ||
| 1987 | kfree(vp); | ||
| 1988 | } | ||
| 1989 | #endif | ||
| 1990 | 1974 | ||
| 1991 | int fix_nodes(int n_op_mode, struct tree_balance *p_s_tb, | 1975 | int fix_nodes(int n_op_mode, struct tree_balance *p_s_tb, |
| 1992 | struct item_head *p_s_ins_ih, const void *); | 1976 | struct item_head *p_s_ins_ih, const void *); |
diff --git a/include/linux/reiserfs_fs_sb.h b/include/linux/reiserfs_fs_sb.h index 3e68592e52e9..31b4c0bd4fa0 100644 --- a/include/linux/reiserfs_fs_sb.h +++ b/include/linux/reiserfs_fs_sb.h | |||
| @@ -382,7 +382,6 @@ struct reiserfs_sb_info { | |||
| 382 | on-disk FS format */ | 382 | on-disk FS format */ |
| 383 | 383 | ||
| 384 | /* session statistics */ | 384 | /* session statistics */ |
| 385 | int s_kmallocs; | ||
| 386 | int s_disk_reads; | 385 | int s_disk_reads; |
| 387 | int s_disk_writes; | 386 | int s_disk_writes; |
| 388 | int s_fix_nodes; | 387 | int s_fix_nodes; |
