Breaking the world for a little bit. If anyone is going to continue

working on this branch for the next few days I suggested you work
off of the 0.3.1 tag.  The following changes are fairly extensive
and are designed to make the SPL compatible with all kernels in
the range of 2.6.18-2.6.25.  There were 13 relevant API changes
between these releases and I have added the needed autoconf tests
to check for them.  However, this has not all been tested extensively.
I'll sort of the breakage on Fedora Core 9 and RHEL5 this week.

SPL_AC_TYPE_UINTPTR_T
SPL_AC_TYPE_KMEM_CACHE_T
SPL_AC_KMEM_CACHE_DESTROY_INT
SPL_AC_ATOMIC_PANIC_NOTIFIER
SPL_AC_3ARGS_INIT_WORK
SPL_AC_2ARGS_REGISTER_SYSCTL
SPL_AC_KMEM_CACHE_T
SPL_AC_KMEM_CACHE_CREATE_DTOR
SPL_AC_3ARG_KMEM_CACHE_CREATE_CTOR
SPL_AC_SET_SHRINKER
SPL_AC_PATH_IN_NAMEIDATA
SPL_AC_TASK_CURR
SPL_AC_CTL_UNNUMBERED



git-svn-id: https://outreach.scidac.gov/svn/spl/trunk@119 7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c
This commit is contained in:
behlendo
2008-06-02 17:28:49 +00:00
parent 65a045dace
commit 57d862349b
25 changed files with 809 additions and 247 deletions
+1 -2
View File
@@ -6,8 +6,7 @@ DISTFILES = Makefile.in \
splat-time.c splat-condvar.c splat-mutex.c \
splat-rwlock.c splat-thread.c \
splat-ctl.c splat-internal.h
CPPFLAGS += @KERNELCPPFLAGS@
EXTRA_CFLAGS = @KERNELCPPFLAGS@
# Solaris Porting LAyer Tests
obj-m := splat.o
-1
View File
@@ -41,7 +41,6 @@
*/
#include "splat-internal.h"
#include <config.h>
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)
#include <linux/devfs_fs_kernel.h>
+11 -5
View File
@@ -59,7 +59,7 @@ typedef struct mutex_priv {
int mp_rc;
} mutex_priv_t;
#ifdef HAVE_3ARGS_INIT_WORK
static void
splat_mutex_test1_work(void *priv)
{
@@ -71,14 +71,16 @@ splat_mutex_test1_work(void *priv)
if (!mutex_tryenter(&mp->mp_mtx))
mp->mp_rc = -EBUSY;
}
#endif
static int
splat_mutex_test1(struct file *file, void *arg)
{
int rc = 0;
#ifdef HAVE_3ARGS_INIT_WORK
struct workqueue_struct *wq;
struct work_struct work;
mutex_priv_t *mp;
int rc = 0;
mp = (mutex_priv_t *)kmalloc(sizeof(*mp), GFP_KERNEL);
if (mp == NULL)
@@ -141,10 +143,11 @@ out:
destroy_workqueue(wq);
out2:
kfree(mp);
#endif
return rc;
}
#ifdef HAVE_3ARGS_INIT_WORK
static void
splat_mutex_test2_work(void *priv)
{
@@ -162,13 +165,16 @@ splat_mutex_test2_work(void *priv)
mp->mp_rc = rc + 1;
mutex_exit(&mp->mp_mtx);
}
#endif
static int
splat_mutex_test2(struct file *file, void *arg)
{
int rc = 0;
#ifdef HAVE_3ARGS_INIT_WORK
struct workqueue_struct *wq;
mutex_priv_t *mp;
int i, rc = 0;
int i;
mp = (mutex_priv_t *)kmalloc(sizeof(*mp), GFP_KERNEL);
if (mp == NULL)
@@ -220,7 +226,7 @@ splat_mutex_test2(struct file *file, void *arg)
destroy_workqueue(wq);
out:
kfree(mp);
#endif
return rc;
}