--- ./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 +#include +#include /* * 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)))); } /*