reiserfs kmalloc usage uniformness
PATCH 1/1 reiserfs kmalloc usage uniformness
Hello!
This patch forces using of reiserfs_kmalloc in all places, where kmalloc is needed. Now reiserfs_kmalloc only have extra overhead if CONFIG_REISERFS_CHECK is set.
Please apply
Bye,
Oleg
fs/reiserfs/dir.c renamed from fs/reiserfs.old/dir.c +4 -4
@@ -115,13 +115,13 @@if (d_reclen <=32 ) { local_buf = small_buf ; }else { - local_buf =kmalloc (d_reclen,GFP_NOFS ) ; + local_buf =reiserfs_kmalloc (d_reclen,GFP_NOFS , inode->i_sb) ;if (!local_buf) {pathrelse (&path_to_entry);return -ENOMEM ; }if (item_moved (&tmp_ih, &path_to_entry)) { -kfree (local_buf) ; +reiserfs_kfree (local_buf, d_reclen, inode->i_sb) ; goto research; } }
@@ -133,12 +133,12 @@if (filldir (dirent, local_buf, d_reclen, d_off, d_ino,DT_UNKNOWN ) <0 ) {if (local_buf != small_buf) { -kfree (local_buf) ; +reiserfs_kfree (local_buf, d_reclen, inode->i_sb) ; } goto end; }if (local_buf != small_buf) { -kfree (local_buf) ; +reiserfs_kfree (local_buf, d_reclen, inode->i_sb) ; }// next entry should be looked for with such offset
fs/reiserfs/fix_node.c renamed from fs/reiserfs.old/fix_node.c +2 -1
@@ -1979,7 +1979,7 @@return CARRY_ON ; } - +#ifdef CONFIG_REISERFS_CHECK void *reiserfs_kmalloc (size_t size,int flags,struct super_block * s) {void * vp;
@@ -2007,6 +2007,7 @@ reiserfs_warning ("vs-8302: reiserfs_kfree: allocated memory %d\n", s->u.reiserfs_sb.s_kmallocs); } +#endif static int get_virtual_node_size (struct super_block * sb,struct buffer_head * bh)
fs/reiserfs/journal.c renamed from fs/reiserfs.old/journal.c +21 -21
109 lines not on this page · raw message
fs/reiserfs/namei.c renamed from fs/reiserfs.old/namei.c +2 -2
@@ -880,7 +880,7 @@return -ENAMETOOLONG ; } - name =kmalloc (item_len,GFP_NOFS ); + name =reiserfs_kmalloc (item_len,GFP_NOFS , dir->i_sb);if (!name) {iput (inode) ;return -ENOMEM ;
@@ -893,7 +893,7 @@ inode =reiserfs_new_inode (&th, dir,S_IFLNK |S_IRWXUGO , name,strlen (symname), dentry, inode, &retval); -kfree (name); +reiserfs_kfree (name, item_len, dir->i_sb);if (inode ==0 ) {/* reiserfs_new_inode iputs for us */ pop_journal_writer (windex) ;journal_end (&th, dir->i_sb, jbegin_count) ;
include/linux/reiserfs_fs.h renamed from include/linux/reiserfs_fs.h.orig +6 -0
@@ -1791,8 +1791,14 @@ int n_size);/* fix_nodes.c */ +#ifdef CONFIG_REISERFS_CHECK void *reiserfs_kmalloc (size_t size,int flags,struct super_block * s);void reiserfs_kfree (const void * vp,size_t size,struct super_block * s); +#else +#define reiserfs_kmalloc (x, y, z) kmalloc(x, y) +#define reiserfs_kfree (x, y, z) kfree(x) +#endif +int fix_nodes (int n_op_mode,struct tree_balance * p_s_tb,struct item_head * p_s_ins_ih,const void *);void unfix_nodes (struct tree_balance *);