--- /dev/null
+--- ./include/linux/ext3_fs.h.orig Tue May 7 17:06:03 2002
++++ ./include/linux/ext3_fs.h Tue May 7 17:07:11 2002
+@@ -17,6 +17,8 @@
+ #define _LINUX_EXT3_FS_H
+
+ #include <linux/types.h>
++#include <linux/ext3_fs_sb.h>
++#include <linux/ext3_fs_i.h>
+
+ /*
+ * The second extended filesystem constants/structures
+@@ -86,8 +88,8 @@
+ #define EXT3_MIN_BLOCK_LOG_SIZE 10
+
+ #ifdef __KERNEL__
+-#define EXT3_SB(sb) (&((sb)->u.ext3_sb))
+-#define EXT3_I(inode) (&((inode)->u.ext3_i))
++#define EXT3_SB(sb) ((struct ext3_sb_info *)&((sb)->u.generic_sbp))
++#define EXT3_I(inode) ((struct ext3_inode_info *)&((inode)->u.generic_ip))
+
+ #define EXT3_BLOCK_SIZE(s) ((s)->s_blocksize)
+ #define EXT3_BLOCK_SIZE_BITS(s) ((s)->s_blocksize_bits)
+@@ -447,7 +447,9 @@
+ #define NEXT_ORPHAN(inode) EXT3_I(inode)->i_dtime
+ static inline struct inode *orphan_list_entry(struct list_head *l)
+ {
+- return list_entry(l, struct inode, u.ext3_i.i_orphan);
++ return ((struct inode *)((char *)l -
++ (unsigned long)(offsetof(struct inode, u.generic_ip) +
++ offsetof(struct ext3_inode_info, i_orphan))));
+ }
+
+ /*