diff -urN linux/fs/buffer.c linux-2.3.3-work/fs/buffer.c
--- linux/fs/buffer.c   Fri May 14 07:18:20 1999
+++ linux-2.3.3-work/fs/buffer.c        Tue May 25 08:11:55 1999
@@ -847,7 +847,7 @@
       wait_on_buffer(bh);
       if (buffer_uptodate(bh))
               return bh;
-       brelse(bh);
+       __brelse(bh);
       return NULL;
}

@@ -913,7 +913,7 @@
       wait_on_buffer(bh);
       if (buffer_uptodate(bh))
               return bh;
-       brelse(bh);
+       __brelse(bh);
       return NULL;
}

diff -urN linux/include/linux/fs.h linux-2.3.3-work/include/linux/fs.h
--- linux/include/linux/fs.h    Sun May 16 21:18:20 1999
+++ linux-2.3.3-work/include/linux/fs.h Tue May 25 08:16:45 1999
@@ -171,7 +171,6 @@

#include <asm/semaphore.h>
#include <asm/byteorder.h>
-#include <asm/bitops.h>

extern void update_atime (struct inode *inode);
#define UPDATE_ATIME(inode) update_atime (inode)
@@ -490,8 +489,6 @@
extern int posix_lock_file(struct file *, struct file_lock *, unsigned int);
extern void posix_block_lock(struct file_lock *, struct file_lock *);
extern void posix_unblock_lock(struct file_lock *);
-
-#include <linux/stat.h>

struct fasync_struct {
       int    magic;
diff -urN linux/kernel/ksyms.c linux-2.3.3-work/kernel/ksyms.c
--- linux/kernel/ksyms.c        Sun May 16 07:43:04 1999
+++ linux-2.3.3-work/kernel/ksyms.c     Tue May 25 08:10:53 1999
@@ -211,6 +211,7 @@
EXPORT_SYMBOL(hardsect_size);
EXPORT_SYMBOL(blk_size);
EXPORT_SYMBOL(blk_dev);
+EXPORT_SYMBOL(blk_ioctl);
EXPORT_SYMBOL(is_read_only);
EXPORT_SYMBOL(set_device_ro);
EXPORT_SYMBOL(bmap);