diff -urN linux-2.4.20/fs/buffer.c linux-2.4.20.SuSE/fs/buffer.c --- linux-2.4.20/fs/buffer.c 2003-06-11 12:46:35.000000000 +0200 +++ linux-2.4.20.SuSE/fs/buffer.c 2003-06-11 12:47:09.000000000 +0200 @@ -783,7 +783,7 @@ bh->b_journal_head = NULL; } -static void end_buffer_io_async(struct buffer_head * bh, int uptodate) +void end_buffer_io_async(struct buffer_head * bh, int uptodate) { static spinlock_t page_uptodate_lock = SPIN_LOCK_UNLOCKED; unsigned long flags; diff -urN linux-2.4.20/fs/inode.c linux-2.4.20.SuSE/fs/inode.c --- linux-2.4.20/fs/inode.c 2003-06-11 12:46:35.000000000 +0200 +++ linux-2.4.20.SuSE/fs/inode.c 2003-06-11 12:47:09.000000000 +0200 @@ -139,9 +139,8 @@ * once, because the fields are idempotent across use * of the inode, so let the slab aware of that. */ -void inode_init_once(struct inode *inode) +void _inode_init_once(struct inode *inode) { - memset(inode, 0, sizeof(*inode)); init_waitqueue_head(&inode->i_wait); INIT_LIST_HEAD(&inode->i_hash); INIT_LIST_HEAD(&inode->i_data.clean_pages); @@ -158,6 +157,12 @@ i_size_ordered_init(inode); } +void inode_init_once(struct inode *inode) +{ + memset(inode, 0, sizeof(*inode)); + _inode_init_once(inode); +} + static void init_once(void * foo, kmem_cache_t * cachep, unsigned long flags) { struct inode * inode = (struct inode *) foo; diff -urN linux-2.4.20/include/linux/fs.h linux-2.4.20.SuSE/include/linux/fs.h --- linux-2.4.20/include/linux/fs.h 2003-06-11 12:46:36.000000000 +0200 +++ linux-2.4.20.SuSE/include/linux/fs.h 2003-06-11 12:47:09.000000000 +0200 @@ -1241,6 +1241,7 @@ extern void refile_buffer(struct buffer_head * buf); extern void create_empty_buffers(struct page *, kdev_t, unsigned long); extern void end_buffer_io_sync(struct buffer_head *bh, int uptodate); +extern void end_buffer_io_async(struct buffer_head *bh, int uptodate); /* reiserfs_writepage needs this */ extern void set_buffer_async_io(struct buffer_head *bh) ; @@ -1487,6 +1488,7 @@ #define user_path_walk_link(name,nd) __user_walk(name, LOOKUP_POSITIVE, nd) extern void inode_init_once(struct inode *); +extern void _inode_init_once(struct inode *); extern void iput(struct inode *); extern void force_delete(struct inode *); extern struct inode * igrab(struct inode *); diff -urN linux-2.4.20/kernel/ksyms.c linux-2.4.20.SuSE/kernel/ksyms.c --- linux-2.4.20/kernel/ksyms.c 2003-06-11 12:46:36.000000000 +0200 +++ linux-2.4.20.SuSE/kernel/ksyms.c 2003-06-11 12:48:17.000000000 +0200 @@ -157,6 +157,7 @@ EXPORT_SYMBOL(unlock_new_inode); EXPORT_SYMBOL(iput); EXPORT_SYMBOL(inode_init_once); +EXPORT_SYMBOL(_inode_init_once); EXPORT_SYMBOL(force_delete); EXPORT_SYMBOL(follow_up); EXPORT_SYMBOL(follow_down); @@ -189,6 +190,7 @@ EXPORT_SYMBOL(__d_path); EXPORT_SYMBOL(mark_buffer_dirty); EXPORT_SYMBOL(set_buffer_async_io); /* for reiserfs_writepage */ +EXPORT_SYMBOL(end_buffer_io_async); EXPORT_SYMBOL(__mark_buffer_dirty); EXPORT_SYMBOL(__mark_inode_dirty); EXPORT_SYMBOL(bdf_prm);