--- ./include/linux/extN_fs.h.orig Tue May 7 17:06:03 2002 +++ ./include/linux/extN_fs.h Tue May 7 17:07:11 2002 @@ -17,6 +17,8 @@ #define _LINUX_EXTN_FS_H #include +#include +#include /* * The second extended filesystem constants/structures @@ -86,8 +88,8 @@ #define EXTN_MIN_BLOCK_LOG_SIZE 10 #ifdef __KERNEL__ -#define EXTN_SB(sb) (&((sb)->u.extN_sb)) -#define EXTN_I(inode) (&((inode)->u.extN_i)) +#define EXTN_SB(sb) ((struct extN_sb_info *)&((sb)->u.generic_sbp)) +#define EXTN_I(inode) ((struct extN_inode_info *)&((inode)->u.generic_ip)) #define EXTN_BLOCK_SIZE(s) ((s)->s_blocksize) #define EXTN_BLOCK_SIZE_BITS(s) ((s)->s_blocksize_bits) @@ -447,7 +447,9 @@ #define NEXT_ORPHAN(inode) EXTN_I(inode)->i_dtime static inline inode *orphan_list_entry(l) { - return list_entry(l, struct inode, u.extN_i.i_orphan); + return ((struct inode *)((char *)l - + (unsigned long)(offsetof(struct inode, u.generic_ip) + + offsetof(struct extN_inode_info, i_orphan)))); } /*