Skip to content
Snippets Groups Projects
Commit ba0d551a authored by Andreas Dilger's avatar Andreas Dilger
Browse files

Fix build problems with RH ia64 kernel on TDEV/Thunder:

- they back-ported PDE from 2.6, which broke our compat macro
- they changed direct_IO method to pass struct file instead of struct inode

Both are now checked in portals/archdep.m4 directly instead of as a version
number check so we don't need to worry about other releases doing the same.
parent 25086623
No related merge requests found
......@@ -369,3 +369,23 @@ if test $RH_2_4_20 = 1; then
else
AC_MSG_RESULT($LINUXRELEASE)
fi
# ---------- Red Hat 2.4.21 backports some more 2.5 bits --------
AC_MSG_CHECKING(if kernel defines PDE)
HAVE_PDE="`grep -c 'proc_dir_entry..PDE' $LINUX/include/linux/proc_fs.h`"
if test "$HAVE_PDE" != 0 ; then
CPPFLAGS="$CPPFLAGS -DHAVE_PDE"
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_MSG_CHECKING(if kernel passes struct file to direct_IO)
HAVE_DIO_FILE="`grep -c 'direct_IO.*struct file' $LINUX/include/linux/fs.h`"
if test "$HAVE_DIO_FILE" != 0 ; then
CPPFLAGS="$CPPFLAGS -DHAVE_DIO_FILE"
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
......@@ -158,7 +158,7 @@ static inline void lustre_daemonize_helper(void)
#endif
/* to find proc_dir_entry from inode. 2.6 has native one -bzzz */
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,23)
#ifndef HAVE_PDE
#define PDE(ii) ((ii)->u.generic_ip)
#endif
......
......@@ -131,9 +131,18 @@ out:
RETURN(rc);
}
static int ll_direct_IO_24(int rw, struct inode *inode, struct kiobuf *iobuf,
unsigned long blocknr, int blocksize)
static int ll_direct_IO_24(int rw,
#ifdef HAVE_DIO_FILE
struct file *file,
#else
struct inode *inode,
#endif
struct kiobuf *iobuf, unsigned long blocknr,
int blocksize)
{
#ifdef HAVE_DIO_FILE
struct inode *inode = file->f_dentry->d_inode;
#endif
struct ll_inode_info *lli = ll_i2info(inode);
struct lov_stripe_md *lsm = lli->lli_smd;
struct brw_page *pga;
......
......@@ -369,3 +369,23 @@ if test $RH_2_4_20 = 1; then
else
AC_MSG_RESULT($LINUXRELEASE)
fi
# ---------- Red Hat 2.4.21 backports some more 2.5 bits --------
AC_MSG_CHECKING(if kernel defines PDE)
HAVE_PDE="`grep -c 'proc_dir_entry..PDE' $LINUX/include/linux/proc_fs.h`"
if test "$HAVE_PDE" != 0 ; then
CPPFLAGS="$CPPFLAGS -DHAVE_PDE"
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_MSG_CHECKING(if kernel passes struct file to direct_IO)
HAVE_DIO_FILE="`grep -c 'direct_IO.*struct file' $LINUX/include/linux/fs.h`"
if test "$HAVE_DIO_FILE" != 0 ; then
CPPFLAGS="$CPPFLAGS -DHAVE_DIO_FILE"
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment