...
 
Commits (5)
Meta: 1
Name: spl
Branch: 1.0
Version: 0.7.12
Version: 0.7.13
Release: 1
Release-Tags: relext
License: GPL
......
......@@ -86,11 +86,13 @@ DIST_COMMON = $(am__configure_deps) $(am__extra_HEADERS_DIST) \
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-current_kernel_time.m4 \
$(top_srcdir)/config/kernel-fallocate.m4 \
$(top_srcdir)/config/kernel-group-info.m4 \
$(top_srcdir)/config/kernel-inode-lock.m4 \
$(top_srcdir)/config/kernel-inode-times.m4 \
$(top_srcdir)/config/kernel-kmem-cache.m4 \
$(top_srcdir)/config/kernel-ktime_get_coarse_real_ts64.m4 \
$(top_srcdir)/config/kernel-kuidgid.m4 \
$(top_srcdir)/config/kernel-pde-data.m4 \
$(top_srcdir)/config/kernel-rw.m4 \
......@@ -100,6 +102,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-shrinker.m4 \
$(top_srcdir)/config/kernel-spinlock.m4 \
$(top_srcdir)/config/kernel-timer.m4 \
$(top_srcdir)/config/kernel-timespec_sub.m4 \
$(top_srcdir)/config/kernel-totalram-pages-func.m4 \
$(top_srcdir)/config/kernel-trim-unused-symbols.m4 \
$(top_srcdir)/config/kernel-truncate-range.m4 \
$(top_srcdir)/config/kernel-urange-sleep.m4 \
......
......@@ -1017,11 +1017,13 @@ AC_SUBST([am__untar])
]) # _AM_PROG_TAR
m4_include([config/kernel-ctl-table-name.m4])
m4_include([config/kernel-current_kernel_time.m4])
m4_include([config/kernel-fallocate.m4])
m4_include([config/kernel-group-info.m4])
m4_include([config/kernel-inode-lock.m4])
m4_include([config/kernel-inode-times.m4])
m4_include([config/kernel-kmem-cache.m4])
m4_include([config/kernel-ktime_get_coarse_real_ts64.m4])
m4_include([config/kernel-kuidgid.m4])
m4_include([config/kernel-pde-data.m4])
m4_include([config/kernel-rw.m4])
......@@ -1031,6 +1033,8 @@ m4_include([config/kernel-set-fs-pwd.m4])
m4_include([config/kernel-shrinker.m4])
m4_include([config/kernel-spinlock.m4])
m4_include([config/kernel-timer.m4])
m4_include([config/kernel-timespec_sub.m4])
m4_include([config/kernel-totalram-pages-func.m4])
m4_include([config/kernel-trim-unused-symbols.m4])
m4_include([config/kernel-truncate-range.m4])
m4_include([config/kernel-urange-sleep.m4])
......
......@@ -38,11 +38,13 @@ subdir = cmd
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-current_kernel_time.m4 \
$(top_srcdir)/config/kernel-fallocate.m4 \
$(top_srcdir)/config/kernel-group-info.m4 \
$(top_srcdir)/config/kernel-inode-lock.m4 \
$(top_srcdir)/config/kernel-inode-times.m4 \
$(top_srcdir)/config/kernel-kmem-cache.m4 \
$(top_srcdir)/config/kernel-ktime_get_coarse_real_ts64.m4 \
$(top_srcdir)/config/kernel-kuidgid.m4 \
$(top_srcdir)/config/kernel-pde-data.m4 \
$(top_srcdir)/config/kernel-rw.m4 \
......@@ -52,6 +54,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-shrinker.m4 \
$(top_srcdir)/config/kernel-spinlock.m4 \
$(top_srcdir)/config/kernel-timer.m4 \
$(top_srcdir)/config/kernel-timespec_sub.m4 \
$(top_srcdir)/config/kernel-totalram-pages-func.m4 \
$(top_srcdir)/config/kernel-trim-unused-symbols.m4 \
$(top_srcdir)/config/kernel-truncate-range.m4 \
$(top_srcdir)/config/kernel-urange-sleep.m4 \
......
......@@ -49,11 +49,13 @@ sbin_PROGRAMS = splat$(EXEEXT)
subdir = cmd/splat
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-current_kernel_time.m4 \
$(top_srcdir)/config/kernel-fallocate.m4 \
$(top_srcdir)/config/kernel-group-info.m4 \
$(top_srcdir)/config/kernel-inode-lock.m4 \
$(top_srcdir)/config/kernel-inode-times.m4 \
$(top_srcdir)/config/kernel-kmem-cache.m4 \
$(top_srcdir)/config/kernel-ktime_get_coarse_real_ts64.m4 \
$(top_srcdir)/config/kernel-kuidgid.m4 \
$(top_srcdir)/config/kernel-pde-data.m4 \
$(top_srcdir)/config/kernel-rw.m4 \
......@@ -63,6 +65,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-shrinker.m4 \
$(top_srcdir)/config/kernel-spinlock.m4 \
$(top_srcdir)/config/kernel-timer.m4 \
$(top_srcdir)/config/kernel-timespec_sub.m4 \
$(top_srcdir)/config/kernel-totalram-pages-func.m4 \
$(top_srcdir)/config/kernel-trim-unused-symbols.m4 \
$(top_srcdir)/config/kernel-truncate-range.m4 \
$(top_srcdir)/config/kernel-urange-sleep.m4 \
......
......@@ -39,11 +39,13 @@ subdir = cmd/splslab
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-current_kernel_time.m4 \
$(top_srcdir)/config/kernel-fallocate.m4 \
$(top_srcdir)/config/kernel-group-info.m4 \
$(top_srcdir)/config/kernel-inode-lock.m4 \
$(top_srcdir)/config/kernel-inode-times.m4 \
$(top_srcdir)/config/kernel-kmem-cache.m4 \
$(top_srcdir)/config/kernel-ktime_get_coarse_real_ts64.m4 \
$(top_srcdir)/config/kernel-kuidgid.m4 \
$(top_srcdir)/config/kernel-pde-data.m4 \
$(top_srcdir)/config/kernel-rw.m4 \
......@@ -53,6 +55,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-shrinker.m4 \
$(top_srcdir)/config/kernel-spinlock.m4 \
$(top_srcdir)/config/kernel-timer.m4 \
$(top_srcdir)/config/kernel-timespec_sub.m4 \
$(top_srcdir)/config/kernel-totalram-pages-func.m4 \
$(top_srcdir)/config/kernel-trim-unused-symbols.m4 \
$(top_srcdir)/config/kernel-truncate-range.m4 \
$(top_srcdir)/config/kernel-urange-sleep.m4 \
......
dnl #
dnl # 4.20: Kernel removes current_kernel_time()
dnl #
AC_DEFUN([SPL_AC_KERNEL_CURRENT_KERNEL_TIME],
[AC_MSG_CHECKING([whether current_kernel_time() exists])
SPL_LINUX_TRY_COMPILE([
#include <linux/ktime.h>
], [
struct timespec t __attribute__ ((unused)) = current_kernel_time();
], [
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_KERNEL_CURRENT_TIME, 1, [current_kernel_time() exists])
], [
AC_MSG_RESULT(no)
])
])
dnl #
dnl # 4.18: ktime_get_coarse_real_ts64() added. Use it in place of
dnl # current_kernel_time64().
dnl #
AC_DEFUN([SPL_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64],
[AC_MSG_CHECKING([whether ktime_get_coarse_real_ts64() exists])
SPL_LINUX_TRY_COMPILE([
#include <linux/mm.h>
], [
struct timespec64 ts;
ktime_get_coarse_real_ts64(&ts);
], [
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_KTIME_GET_COARSE_REAL_TS64, 1, [ktime_get_coarse_real_ts64() exists])
], [
AC_MSG_RESULT(no)
])
])
dnl #
dnl # 5.0 API change
dnl #
dnl # Does timespec_sub() exists? If not, use timespec64_sub().
dnl #
AC_DEFUN([SPL_AC_KERNEL_TIMESPEC_SUB], [
AC_MSG_CHECKING([whether timespec_sub() exists])
SPL_LINUX_TRY_COMPILE([
#include <linux/time.h>
],[
struct timespec a = {0}, b = {0};
timespec_sub(a, b);
],[
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_KERNEL_TIMESPEC_SUB, 1,
[kernel has timespec_sub])
],[
AC_MSG_RESULT(no)
])
])
dnl #
dnl # Linux 5.0: totalram_pages is no longer a global variable, and must be
dnl # read via the totalram_pages() helper function.
dnl #
AC_DEFUN([SPL_AC_KERNEL_TOTALRAM_PAGES_FUNC], [
AC_MSG_CHECKING([whether totalram_pages() exists])
SPL_LINUX_TRY_COMPILE([
#include <linux/mm.h>
],[
unsigned long pages __attribute__ ((unused));
pages = totalram_pages();
],[
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_TOTALRAM_PAGES_FUNC, 1, [kernel has totalram_pages()])
],[
AC_MSG_RESULT(no)
])
])
......@@ -54,6 +54,10 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [
SPL_AC_KERNEL_WRITE
SPL_AC_KERNEL_READ
SPL_AC_KERNEL_TIMER_FUNCTION_TIMER_LIST
SPL_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64
SPL_AC_KERNEL_TOTALRAM_PAGES_FUNC
SPL_AC_KERNEL_TIMESPEC_SUB
SPL_AC_KERNEL_CURRENT_KERNEL_TIME
])
AC_DEFUN([SPL_AC_MODULE_SYMVERS], [
......@@ -156,7 +160,7 @@ AC_DEFUN([SPL_AC_KERNEL], [
if test "$utsrelease"; then
kernsrcver=`(echo "#include <$utsrelease>";
echo "kernsrcver=UTS_RELEASE") |
cpp -I $kernelbuild/include |
${CPP} -I $kernelbuild/include - |
grep "^kernsrcver=" | cut -d \" -f 2`
if test -z "$kernsrcver"; then
......
This diff is collapsed.
spl-linux (0.7.13-1) UNRELEASED; urgency=medium
* New upstream version 0.7.13
-- Mo Zhou <cdluminate@gmail.com> Tue, 05 Mar 2019 06:58:26 +0000
spl-linux (0.7.12-2) unstable; urgency=medium
[ Colin Ian King ]
......
......@@ -11,7 +11,7 @@ Build-Depends: autogen,
dh-autoreconf,
dkms (>> 2.2.0.2-1~),
libtool
Standards-Version: 4.1.2
Standards-Version: 4.3.0
Homepage: http://www.zfsonlinux.org/
Vcs-Git: https://salsa.debian.org/zfsonlinux-team/spl.git
Vcs-Browser: https://salsa.debian.org/zfsonlinux-team/spl
......
......@@ -11,7 +11,7 @@ Build-Depends: autogen,
dh-autoreconf,
dkms (>> 2.2.0.2-1~),
libtool
Standards-Version: 4.1.2
Standards-Version: 4.3.0
Homepage: http://www.zfsonlinux.org/
Vcs-Git: https://salsa.debian.org/zfsonlinux-team/spl.git
Vcs-Browser: https://salsa.debian.org/zfsonlinux-team/spl
......
Add support for ktime_get_coarse_real_ts64 for 5.0
Signed-off-by; Colin Ian King <colin.king@canonical.com>
---
Index: spl-linux-0.7.12/config/kernel-ktime.m4
===================================================================
--- /dev/null
+++ spl-linux-0.7.12/config/kernel-ktime-get-coarse-real-ts64.m4
@@ -0,0 +1,20 @@
+dnl #
+dnl # 5.0 API change
+dnl # current_kernel_time64 to ktime_get_coarse_real_ts64 timespec64
+dnl #
+AC_DEFUN([SPL_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64], [
+ AC_MSG_CHECKING([whether ktime_get_coarse_real_ts64 exists])
+ SPL_LINUX_TRY_COMPILE([
+ #include <linux/ktime.h>
+ ],[
+ struct timespec64 ts;
+
+ ktime_get_coarse_real_ts64(&ts);
+ ],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_KTIME_GET_COARSE_REAL_TS64, 1,
+ [ktime_get_coarse_real_ts64 is provided])
+ ],[
+ AC_MSG_RESULT(no)
+ ])
+])
Index: spl-linux-0.7.12/include/sys/time.h
===================================================================
--- spl-linux-0.7.12.orig/include/sys/time.h
+++ spl-linux-0.7.12/include/sys/time.h
@@ -71,22 +71,32 @@ typedef struct timespec inode_timespec_
static inline void
gethrestime(inode_timespec_t *ts)
- {
+{
+#if defined(HAVE_KTIME_GET_COARSE_REAL_TS64)
+ ktime_get_coarse_real_ts64(ts);
+#else
#if defined(HAVE_INODE_TIMESPEC64_TIMES)
*ts = current_kernel_time64();
#else
*ts = current_kernel_time();
#endif
+#endif
}
static inline time_t
gethrestime_sec(void)
{
+#if defined(HAVE_KTIME_GET_COARSE_REAL_TS64)
+ inode_timespec_t ts;
+
+ ktime_get_coarse_real_ts64(&ts);
+#else
#if defined(HAVE_INODE_TIMESPEC64_TIMES)
inode_timespec_t ts = current_kernel_time64();
#else
inode_timespec_t ts = current_kernel_time();
#endif
+#endif
return (ts.tv_sec);
}
Index: spl-linux-0.7.12/config/spl-build.m4
===================================================================
--- spl-linux-0.7.12.orig/config/spl-build.m4
+++ spl-linux-0.7.12/config/spl-build.m4
@@ -54,6 +54,7 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [
SPL_AC_KERNEL_WRITE
SPL_AC_KERNEL_READ
SPL_AC_KERNEL_TIMER_FUNCTION_TIMER_LIST
+ SPL_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64
])
AC_DEFUN([SPL_AC_MODULE_SYMVERS], [
Add support for totalram-pages being a function for 5.0
Was a unsigned long, in 5.0 it is a inline'd function
Signed-off-by; Colin Ian King <colin.king@canonical.com>
---
Index: spl-linux-0.7.12/config/kernel-totalram-pages.m4
===================================================================
--- /dev/null
+++ spl-linux-0.7.12/config/kernel-totalram-pages.m4
@@ -0,0 +1,20 @@
+dnl #
+dnl # 5.0 API change
+dnl # check if totalram_pages is a function
+dnl #
+AC_DEFUN([SPL_AC_KERNEL_TOTALRAM_PAGES_FUNCTION], [
+ AC_MSG_CHECKING([whether totalram_pages is a function])
+ SPL_LINUX_TRY_COMPILE([
+ #include <linux/mm.h>
+ ],[
+ unsigned long t;
+
+ t = totalram_pages();
+ ],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_TOTALRAM_PAGES_FUNCTION, 1,
+ [totalram_pages is a function])
+ ],[
+ AC_MSG_RESULT(no)
+ ])
+])
Index: spl-linux-0.7.12/config/spl-build.m4
===================================================================
--- spl-linux-0.7.12.orig/config/spl-build.m4
+++ spl-linux-0.7.12/config/spl-build.m4
@@ -55,6 +55,7 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [
SPL_AC_KERNEL_READ
SPL_AC_KERNEL_TIMER_FUNCTION_TIMER_LIST
SPL_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64
+ SPL_AC_KERNEL_TOTALRAM_PAGES_FUNCTION
])
AC_DEFUN([SPL_AC_MODULE_SYMVERS], [
Index: spl-linux-0.7.12/include/sys/vmsystm.h
===================================================================
--- spl-linux-0.7.12.orig/include/sys/vmsystm.h
+++ spl-linux-0.7.12/include/sys/vmsystm.h
@@ -34,7 +34,11 @@
#include <asm/uaccess.h>
#define membar_producer() smp_wmb()
+#if defined(HAVE_TOTALRAM_PAGES_FUNCTION)
+#define physmem totalram_pages()
+#else
#define physmem totalram_pages
+#endif
#define freemem (nr_free_pages() + \
global_page_state(NR_INACTIVE_FILE) + \
global_page_state(NR_INACTIVE_ANON) + \
Add support for ktime_get_ts64 for 5.0
Signed-off-by; Colin Ian King <colin.king@canonical.com>
---
Index: spl-linux-0.7.12/config/kernel-ktime-get-ts64.m4
===================================================================
--- /dev/null
+++ spl-linux-0.7.12/config/kernel-ktime-get-ts64.m4
@@ -0,0 +1,20 @@
+dnl #
+dnl # 4.20 API change
+dnl # check if ktime_get_ts64 exists
+dnl #
+AC_DEFUN([SPL_AC_KERNEL_KTIME_GET_TS64], [
+ AC_MSG_CHECKING([whether ktime_get_ts64 exists])
+ SPL_LINUX_TRY_COMPILE([
+ #include <linux/ktime.h>
+ ],[
+ struct timespec64 ts;
+
+ ktime_get_ts64(&ts);
+ ],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_KTIME_GET_TS64, 1,
+ [ktime_get_ts64 is provided])
+ ],[
+ AC_MSG_RESULT(no)
+ ])
+])
Index: spl-linux-0.7.12/config/spl-build.m4
===================================================================
--- spl-linux-0.7.12.orig/config/spl-build.m4
+++ spl-linux-0.7.12/config/spl-build.m4
@@ -55,6 +55,7 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [
SPL_AC_KERNEL_READ
SPL_AC_KERNEL_TIMER_FUNCTION_TIMER_LIST
SPL_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64
+ SPL_AC_KERNEL_KTIME_GET_TS64
SPL_AC_KERNEL_TOTALRAM_PAGES_FUNCTION
])
Add support for timespec64 for 5.0
Signed-off-by; Colin Ian King <colin.king@canonical.com>
---
Index: spl-linux-0.7.12/config/kernel-timespec64.m4
===================================================================
--- /dev/null
+++ spl-linux-0.7.12/config/kernel-timespec64.m4
@@ -0,0 +1,20 @@
+dnl #
+dnl # 4.20 API change
+dnl # timespec64_sub replacing timespec_sub
+dnl #
+AC_DEFUN([SPL_AC_KERNEL_TIMESPEC64_SUB], [
+ AC_MSG_CHECKING([whether timespec64_sub exists])
+ SPL_LINUX_TRY_COMPILE([
+ #include <linux/ktime.h>
+ ],[
+ struct timespec64 ts1 = { 0 }, ts2 = { 0 }, delta;
+
+ delta = timespec64_sub(ts1, ts2);
+ ],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_TIMESPEC64_SUB, 1,
+ [timespec64_sub is provided])
+ ],[
+ AC_MSG_RESULT(no)
+ ])
+])
Index: spl-linux-0.7.12/config/spl-build.m4
===================================================================
--- spl-linux-0.7.12.orig/config/spl-build.m4
+++ spl-linux-0.7.12/config/spl-build.m4
@@ -56,6 +56,7 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [
SPL_AC_KERNEL_TIMER_FUNCTION_TIMER_LIST
SPL_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64
SPL_AC_KERNEL_KTIME_GET_TS64
+ SPL_AC_KERNEL_TIMESPEC64_SUB
SPL_AC_KERNEL_TOTALRAM_PAGES_FUNCTION
])
Add 64 bit timespec support for 5.0
Signed-off-by; Colin Ian King <colin.king@canonical.com>
---
Index: spl-linux-0.7.12/module/splat/splat-kmem.c
===================================================================
--- spl-linux-0.7.12.orig/module/splat/splat-kmem.c
+++ spl-linux-0.7.12/module/splat/splat-kmem.c
@@ -713,7 +713,11 @@ splat_kmem_cache_thread_test(struct file
{
kmem_cache_priv_t *kcp;
kthread_t *thr;
+#if defined(HAVE_TIMESPEC64_SUB)
+ struct timespec64 start, stop, delta;
+#else
struct timespec start, stop, delta;
+#endif
char cache_name[32];
int i, rc = 0;
@@ -737,7 +741,11 @@ splat_kmem_cache_thread_test(struct file
goto out_kcp;
}
+#if defined(HAVE_KTIME_GET_TS64)
+ ktime_get_ts64(&start);
+#else
getnstimeofday(&start);
+#endif
for (i = 0; i < SPLAT_KMEM_THREADS; i++) {
thr = thread_create(NULL, 0,
@@ -762,14 +770,22 @@ splat_kmem_cache_thread_test(struct file
/* Sleep until all thread have finished */
wait_event(kcp->kcp_ctl_waitq, splat_kmem_cache_test_threads(kcp, 0));
+#if defined(HAVE_KTIME_GET_TS64)
+ ktime_get_ts64(&stop);
+#else
getnstimeofday(&stop);
+#endif
+#if defined(HAVE_TIMESPEC64_SUB)
+ delta = timespec64_sub(stop, start);
+#else
delta = timespec_sub(stop, start);
+#endif
splat_vprint(file, name,
- "%-22s %2ld.%09ld\t"
+ "%-22s %2lld.%09ld\t"
"%lu/%lu/%lu\t%lu/%lu/%lu\n",
kcp->kcp_cache->skc_name,
- delta.tv_sec, delta.tv_nsec,
+ (long long)delta.tv_sec, delta.tv_nsec,
(unsigned long)kcp->kcp_cache->skc_slab_total,
(unsigned long)kcp->kcp_cache->skc_slab_max,
(unsigned long)(kcp->kcp_alloc *
@@ -1226,7 +1242,11 @@ splat_kmem_test13(struct file *file, voi
kmem_cache_thread_t *kct;
dummy_page_t *dp;
struct list_head list;
+#if defined(HAVE_TIMESPEC64_SUB)
+ struct timespec64 start, stop, delta = { 0, 0 };
+#else
struct timespec start, stop, delta = { 0, 0 };
+#endif
int size, count, slabs, fails = 0;
int i, rc = 0, max_time = 10;
@@ -1274,7 +1294,11 @@ splat_kmem_test13(struct file *file, voi
i = 0;
slabs = kcp->kcp_cache->skc_slab_total;
INIT_LIST_HEAD(&list);
+#if defined(HAVE_KTIME_GET_TS64)
+ ktime_get_ts64(&start);
+#else
getnstimeofday(&start);
+#endif
/* Apply memory pressure */
while (kcp->kcp_cache->skc_slab_total > (slabs >> 2)) {
@@ -1283,8 +1307,16 @@ splat_kmem_test13(struct file *file, voi
splat_kmem_cache_test_debug(
file, SPLAT_KMEM_TEST13_NAME, kcp);
+#if defined(HAVE_KTIME_GET_TS64)
+ ktime_get_ts64(&stop);
+#else
getnstimeofday(&stop);
+#endif
+#if defined(HAVE_TIMESPEC64_SUB)
+ delta = timespec64_sub(stop, start);
+#else
delta = timespec_sub(stop, start);
+#endif
if (delta.tv_sec >= max_time) {
splat_vprint(file, SPLAT_KMEM_TEST13_NAME,
"Failed to reclaim 3/4 of cache in %ds, "
Index: spl-linux-0.7.12/module/splat/splat-taskq.c
===================================================================
--- spl-linux-0.7.12.orig/module/splat/splat-taskq.c
+++ spl-linux-0.7.12/module/splat/splat-taskq.c
@@ -1077,14 +1077,22 @@ splat_taskq_throughput_func(void *arg)
static int
splat_taskq_throughput(struct file *file, void *arg, const char *name,
int nthreads, int minalloc, int maxalloc, int flags, int tasks,
+#if defined(HAVE_TIMESPEC64_SUB)
+ struct timespec64 *delta)
+#else
struct timespec *delta)
+#endif
{
taskq_t *tq;
taskqid_t id;
splat_taskq_arg_t tq_arg;
taskq_ent_t **tqes;
atomic_t count;
+#if defined(HAVE_TIMESPEC64_SUB)
+ struct timespec64 start, stop;
+#else
struct timespec start, stop;
+#endif
int i, j, rc = 0;
tqes = vmalloc(sizeof (*tqes) * tasks);
@@ -1107,7 +1115,11 @@ splat_taskq_throughput(struct file *file
tq_arg.count = &count;
atomic_set(tq_arg.count, 0);
+#if defined(HAVE_KTIME_GET_TS64)
+ ktime_get_ts64(&start);
+#else
getnstimeofday(&start);
+#endif
for (i = 0; i < tasks; i++) {
tqes[i] = kmalloc(sizeof (taskq_ent_t), GFP_KERNEL);
@@ -1136,8 +1148,16 @@ splat_taskq_throughput(struct file *file
taskq_wait(tq);
if (delta != NULL) {
+#if defined(HAVE_KTIME_GET_TS64)
+ ktime_get_ts64(&stop);
+#else
getnstimeofday(&stop);
+#endif
+#if defined(HAVE_TIMESPEC64_SUB)
+ *delta = timespec64_sub(stop, start);
+#else
*delta = timespec_sub(stop, start);
+#endif
}
splat_vprint(file, name, "Taskq '%s' %d/%d dispatches finished\n",
@@ -1452,7 +1472,11 @@ out_free:
static int
splat_taskq_test11(struct file *file, void *arg)
{
+#if defined(HAVE_TIMESPEC64_SUB)
+ struct timespec64 normal, dynamic;
+#else
struct timespec normal, dynamic;
+#endif
int error;
error = splat_taskq_throughput(file, arg, SPLAT_TASKQ_TEST11_NAME,
@@ -1468,9 +1492,9 @@ splat_taskq_test11(struct file *file, vo
return (error);
splat_vprint(file, SPLAT_TASKQ_TEST11_NAME,
- "Timing taskq_wait(): normal=%ld.%09lds, dynamic=%ld.%09lds\n",
- normal.tv_sec, normal.tv_nsec,
- dynamic.tv_sec, dynamic.tv_nsec);
+ "Timing taskq_wait(): normal=%lld.%09lds, dynamic=%lld.%09lds\n",
+ (unsigned long long)normal.tv_sec, normal.tv_nsec,
+ (unsigned long long)dynamic.tv_sec, dynamic.tv_nsec);
/* A 10x increase in runtime is used to indicate a core problem. */
if (((int64_t)dynamic.tv_sec * NANOSEC + (int64_t)dynamic.tv_nsec) >
0001-Add-check-for-ktime_get_coarse_real_ts64-for-V5.0-ke.patch
0002-Add-check-for-totalram-pages.patch
0003-Add-check-for-ktime_get_ts64-for-V5.0-ke.patch
0004-Add-check-for-timespec64-sub.patch
0005-Use-64-bit-timespec-fixes.patch
......@@ -40,11 +40,13 @@ DIST_COMMON = $(am__kernel_HEADERS_DIST) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-current_kernel_time.m4 \
$(top_srcdir)/config/kernel-fallocate.m4 \
$(top_srcdir)/config/kernel-group-info.m4 \
$(top_srcdir)/config/kernel-inode-lock.m4 \
$(top_srcdir)/config/kernel-inode-times.m4 \
$(top_srcdir)/config/kernel-kmem-cache.m4 \
$(top_srcdir)/config/kernel-ktime_get_coarse_real_ts64.m4 \
$(top_srcdir)/config/kernel-kuidgid.m4 \
$(top_srcdir)/config/kernel-pde-data.m4 \
$(top_srcdir)/config/kernel-rw.m4 \
......@@ -54,6 +56,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-shrinker.m4 \
$(top_srcdir)/config/kernel-spinlock.m4 \
$(top_srcdir)/config/kernel-timer.m4 \
$(top_srcdir)/config/kernel-timespec_sub.m4 \
$(top_srcdir)/config/kernel-totalram-pages-func.m4 \
$(top_srcdir)/config/kernel-trim-unused-symbols.m4 \
$(top_srcdir)/config/kernel-truncate-range.m4 \
$(top_srcdir)/config/kernel-urange-sleep.m4 \
......
......@@ -40,11 +40,13 @@ DIST_COMMON = $(am__kernel_HEADERS_DIST) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-current_kernel_time.m4 \
$(top_srcdir)/config/kernel-fallocate.m4 \
$(top_srcdir)/config/kernel-group-info.m4 \
$(top_srcdir)/config/kernel-inode-lock.m4 \
$(top_srcdir)/config/kernel-inode-times.m4 \
$(top_srcdir)/config/kernel-kmem-cache.m4 \
$(top_srcdir)/config/kernel-ktime_get_coarse_real_ts64.m4 \
$(top_srcdir)/config/kernel-kuidgid.m4 \
$(top_srcdir)/config/kernel-pde-data.m4 \
$(top_srcdir)/config/kernel-rw.m4 \
......@@ -54,6 +56,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-shrinker.m4 \
$(top_srcdir)/config/kernel-spinlock.m4 \
$(top_srcdir)/config/kernel-timer.m4 \
$(top_srcdir)/config/kernel-timespec_sub.m4 \
$(top_srcdir)/config/kernel-totalram-pages-func.m4 \
$(top_srcdir)/config/kernel-trim-unused-symbols.m4 \
$(top_srcdir)/config/kernel-truncate-range.m4 \
$(top_srcdir)/config/kernel-urange-sleep.m4 \
......
......@@ -40,11 +40,13 @@ DIST_COMMON = $(am__kernel_HEADERS_DIST) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-current_kernel_time.m4 \
$(top_srcdir)/config/kernel-fallocate.m4 \
$(top_srcdir)/config/kernel-group-info.m4 \
$(top_srcdir)/config/kernel-inode-lock.m4 \
$(top_srcdir)/config/kernel-inode-times.m4 \
$(top_srcdir)/config/kernel-kmem-cache.m4 \
$(top_srcdir)/config/kernel-ktime_get_coarse_real_ts64.m4 \
$(top_srcdir)/config/kernel-kuidgid.m4 \
$(top_srcdir)/config/kernel-pde-data.m4 \
$(top_srcdir)/config/kernel-rw.m4 \
......@@ -54,6 +56,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-shrinker.m4 \
$(top_srcdir)/config/kernel-spinlock.m4 \
$(top_srcdir)/config/kernel-timer.m4 \
$(top_srcdir)/config/kernel-timespec_sub.m4 \
$(top_srcdir)/config/kernel-totalram-pages-func.m4 \
$(top_srcdir)/config/kernel-trim-unused-symbols.m4 \
$(top_srcdir)/config/kernel-truncate-range.m4 \
$(top_srcdir)/config/kernel-urange-sleep.m4 \
......
......@@ -40,11 +40,13 @@ DIST_COMMON = $(am__kernel_HEADERS_DIST) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-current_kernel_time.m4 \
$(top_srcdir)/config/kernel-fallocate.m4 \
$(top_srcdir)/config/kernel-group-info.m4 \
$(top_srcdir)/config/kernel-inode-lock.m4 \
$(top_srcdir)/config/kernel-inode-times.m4 \
$(top_srcdir)/config/kernel-kmem-cache.m4 \
$(top_srcdir)/config/kernel-ktime_get_coarse_real_ts64.m4 \
$(top_srcdir)/config/kernel-kuidgid.m4 \
$(top_srcdir)/config/kernel-pde-data.m4 \
$(top_srcdir)/config/kernel-rw.m4 \
......@@ -54,6 +56,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-shrinker.m4 \
$(top_srcdir)/config/kernel-spinlock.m4 \
$(top_srcdir)/config/kernel-timer.m4 \
$(top_srcdir)/config/kernel-timespec_sub.m4 \
$(top_srcdir)/config/kernel-totalram-pages-func.m4 \
$(top_srcdir)/config/kernel-trim-unused-symbols.m4 \
$(top_srcdir)/config/kernel-truncate-range.m4 \
$(top_srcdir)/config/kernel-urange-sleep.m4 \
......
......@@ -40,11 +40,13 @@ DIST_COMMON = $(am__kernel_HEADERS_DIST) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-current_kernel_time.m4 \
$(top_srcdir)/config/kernel-fallocate.m4 \
$(top_srcdir)/config/kernel-group-info.m4 \
$(top_srcdir)/config/kernel-inode-lock.m4 \
$(top_srcdir)/config/kernel-inode-times.m4 \
$(top_srcdir)/config/kernel-kmem-cache.m4 \
$(top_srcdir)/config/kernel-ktime_get_coarse_real_ts64.m4 \
$(top_srcdir)/config/kernel-kuidgid.m4 \
$(top_srcdir)/config/kernel-pde-data.m4 \
$(top_srcdir)/config/kernel-rw.m4 \
......@@ -54,6 +56,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-shrinker.m4 \
$(top_srcdir)/config/kernel-spinlock.m4 \
$(top_srcdir)/config/kernel-timer.m4 \
$(top_srcdir)/config/kernel-timespec_sub.m4 \
$(top_srcdir)/config/kernel-totalram-pages-func.m4 \
$(top_srcdir)/config/kernel-trim-unused-symbols.m4 \
$(top_srcdir)/config/kernel-truncate-range.m4 \
$(top_srcdir)/config/kernel-urange-sleep.m4 \
......
......@@ -40,11 +40,13 @@ DIST_COMMON = $(am__kernel_HEADERS_DIST) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-current_kernel_time.m4 \
$(top_srcdir)/config/kernel-fallocate.m4 \
$(top_srcdir)/config/kernel-group-info.m4 \
$(top_srcdir)/config/kernel-inode-lock.m4 \
$(top_srcdir)/config/kernel-inode-times.m4 \
$(top_srcdir)/config/kernel-kmem-cache.m4 \
$(top_srcdir)/config/kernel-ktime_get_coarse_real_ts64.m4 \
$(top_srcdir)/config/kernel-kuidgid.m4 \
$(top_srcdir)/config/kernel-pde-data.m4 \
$(top_srcdir)/config/kernel-rw.m4 \
......@@ -54,6 +56,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-shrinker.m4 \
$(top_srcdir)/config/kernel-spinlock.m4 \
$(top_srcdir)/config/kernel-timer.m4 \
$(top_srcdir)/config/kernel-timespec_sub.m4 \
$(top_srcdir)/config/kernel-totalram-pages-func.m4 \
$(top_srcdir)/config/kernel-trim-unused-symbols.m4 \
$(top_srcdir)/config/kernel-truncate-range.m4 \
$(top_srcdir)/config/kernel-urange-sleep.m4 \
......
......@@ -40,11 +40,13 @@ DIST_COMMON = $(am__kernel_HEADERS_DIST) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-current_kernel_time.m4 \
$(top_srcdir)/config/kernel-fallocate.m4 \
$(top_srcdir)/config/kernel-group-info.m4 \
$(top_srcdir)/config/kernel-inode-lock.m4 \
$(top_srcdir)/config/kernel-inode-times.m4 \
$(top_srcdir)/config/kernel-kmem-cache.m4 \
$(top_srcdir)/config/kernel-ktime_get_coarse_real_ts64.m4 \
$(top_srcdir)/config/kernel-kuidgid.m4 \
$(top_srcdir)/config/kernel-pde-data.m4 \
$(top_srcdir)/config/kernel-rw.m4 \
......@@ -54,6 +56,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-shrinker.m4 \
$(top_srcdir)/config/kernel-spinlock.m4 \
$(top_srcdir)/config/kernel-timer.m4 \
$(top_srcdir)/config/kernel-timespec_sub.m4 \
$(top_srcdir)/config/kernel-totalram-pages-func.m4 \
$(top_srcdir)/config/kernel-trim-unused-symbols.m4 \
$(top_srcdir)/config/kernel-truncate-range.m4 \
$(top_srcdir)/config/kernel-urange-sleep.m4 \
......
......@@ -40,11 +40,13 @@ DIST_COMMON = $(am__kernel_HEADERS_DIST) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-current_kernel_time.m4 \
$(top_srcdir)/config/kernel-fallocate.m4 \
$(top_srcdir)/config/kernel-group-info.m4 \
$(top_srcdir)/config/kernel-inode-lock.m4 \
$(top_srcdir)/config/kernel-inode-times.m4 \
$(top_srcdir)/config/kernel-kmem-cache.m4 \
$(top_srcdir)/config/kernel-ktime_get_coarse_real_ts64.m4 \
$(top_srcdir)/config/kernel-kuidgid.m4 \
$(top_srcdir)/config/kernel-pde-data.m4 \
$(top_srcdir)/config/kernel-rw.m4 \
......@@ -54,6 +56,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-shrinker.m4 \
$(top_srcdir)/config/kernel-spinlock.m4 \
$(top_srcdir)/config/kernel-timer.m4 \
$(top_srcdir)/config/kernel-timespec_sub.m4 \
$(top_srcdir)/config/kernel-totalram-pages-func.m4 \
$(top_srcdir)/config/kernel-trim-unused-symbols.m4 \
$(top_srcdir)/config/kernel-truncate-range.m4 \
$(top_srcdir)/config/kernel-urange-sleep.m4 \
......
......@@ -27,6 +27,7 @@
#include <linux/module.h>
#include <linux/time.h>
#include <linux/ktime.h>
#include <sys/types.h>
#include <sys/timer.h>
......@@ -57,6 +58,17 @@ typedef struct timespec timespec_t;
static const int hz = HZ;
/* 5.0 kernels no longer have timespec_sub(), only timespec64_sub() */
#if !defined(HAVE_KERNEL_TIMESPEC_SUB) && defined(HAVE_INODE_TIMESPEC64_TIMES)
static inline struct timespec timespec_sub(struct timespec a,
struct timespec b) {
struct timespec64 res;
res = timespec64_sub(timespec_to_timespec64(a),
timespec_to_timespec64(b));
return timespec64_to_timespec(res);
}
#endif
#define TIMESPEC_OVERFLOW(ts) \
((ts)->tv_sec < TIME_MIN || (ts)->tv_sec > TIME_MAX)
......@@ -73,17 +85,43 @@ static inline void
gethrestime(inode_timespec_t *ts)
{
#if defined(HAVE_INODE_TIMESPEC64_TIMES)
#if defined(HAVE_KTIME_GET_COARSE_REAL_TS64)
ktime_get_coarse_real_ts64(ts);
#else
*ts = current_kernel_time64();
#endif /* HAVE_KTIME_GET_COARSE_REAL_TS64 */
#else
*ts = current_kernel_time();
#endif
}
/*
* 4.20 kernels no longer have current_kernel_time(), only
* current_kernel_time64().
*/
#if !defined(HAVE_KERNEL_CURRENT_TIME) && defined(HAVE_INODE_TIMESPEC64_TIMES)
static inline struct timespec current_kernel_time(void)
{
struct timespec64 ts;
gethrestime(&ts);
return timespec64_to_timespec(ts);
}
#endif
static inline time_t
gethrestime_sec(void)
{
#if defined(HAVE_INODE_TIMESPEC64_TIMES)
#if defined(HAVE_KTIME_GET_COARSE_REAL_TS64)
inode_timespec_t ts;
ktime_get_coarse_real_ts64(&ts);
#else
inode_timespec_t ts = current_kernel_time64();
#endif /* HAVE_KTIME_GET_COARSE_REAL_TS64 */
#else
inode_timespec_t ts = current_kernel_time();
#endif
......
......@@ -53,6 +53,7 @@ typedef struct uio {
int uio_iovcnt;
offset_t uio_loffset;
uio_seg_t uio_segflg;
boolean_t uio_fault_disable;
uint16_t uio_fmode;
uint16_t uio_extflg;
offset_t uio_limit;
......
......@@ -33,8 +33,14 @@
#include <sys/types.h>
#include <asm/uaccess.h>
#ifdef HAVE_TOTALRAM_PAGES_FUNC
#define zfs_totalram_pages totalram_pages()
#else
#define zfs_totalram_pages totalram_pages
#endif
#define membar_producer() smp_wmb()
#define physmem totalram_pages
#define physmem zfs_totalram_pages
#define freemem (nr_free_pages() + \
global_page_state(NR_INACTIVE_FILE) + \
global_page_state(NR_INACTIVE_ANON) + \
......
......@@ -40,11 +40,13 @@ DIST_COMMON = $(am__kernel_HEADERS_DIST) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-current_kernel_time.m4 \
$(top_srcdir)/config/kernel-fallocate.m4 \
$(top_srcdir)/config/kernel-group-info.m4 \
$(top_srcdir)/config/kernel-inode-lock.m4 \
$(top_srcdir)/config/kernel-inode-times.m4 \
$(top_srcdir)/config/kernel-kmem-cache.m4 \
$(top_srcdir)/config/kernel-ktime_get_coarse_real_ts64.m4 \
$(top_srcdir)/config/kernel-kuidgid.m4 \
$(top_srcdir)/config/kernel-pde-data.m4 \
$(top_srcdir)/config/kernel-rw.m4 \
......@@ -54,6 +56,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-shrinker.m4 \
$(top_srcdir)/config/kernel-spinlock.m4 \
$(top_srcdir)/config/kernel-timer.m4 \
$(top_srcdir)/config/kernel-timespec_sub.m4 \
$(top_srcdir)/config/kernel-totalram-pages-func.m4 \
$(top_srcdir)/config/kernel-trim-unused-symbols.m4 \
$(top_srcdir)/config/kernel-truncate-range.m4 \
$(top_srcdir)/config/kernel-urange-sleep.m4 \
......
......@@ -40,11 +40,13 @@ DIST_COMMON = $(am__kernel_HEADERS_DIST) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-current_kernel_time.m4 \
$(top_srcdir)/config/kernel-fallocate.m4 \
$(top_srcdir)/config/kernel-group-info.m4 \
$(top_srcdir)/config/kernel-inode-lock.m4 \
$(top_srcdir)/config/kernel-inode-times.m4 \
$(top_srcdir)/config/kernel-kmem-cache.m4 \
$(top_srcdir)/config/kernel-ktime_get_coarse_real_ts64.m4 \
$(top_srcdir)/config/kernel-kuidgid.m4 \
$(top_srcdir)/config/kernel-pde-data.m4 \
$(top_srcdir)/config/kernel-rw.m4 \
......@@ -54,6 +56,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-shrinker.m4 \
$(top_srcdir)/config/kernel-spinlock.m4 \
$(top_srcdir)/config/kernel-timer.m4 \
$(top_srcdir)/config/kernel-timespec_sub.m4 \
$(top_srcdir)/config/kernel-totalram-pages-func.m4 \
$(top_srcdir)/config/kernel-trim-unused-symbols.m4 \
$(top_srcdir)/config/kernel-truncate-range.m4 \
$(top_srcdir)/config/kernel-urange-sleep.m4 \
......
......@@ -48,11 +48,13 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
subdir = lib
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-current_kernel_time.m4 \
$(top_srcdir)/config/kernel-fallocate.m4 \
$(top_srcdir)/config/kernel-group-info.m4 \
$(top_srcdir)/config/kernel-inode-lock.m4 \
$(top_srcdir)/config/kernel-inode-times.m4 \
$(top_srcdir)/config/kernel-kmem-cache.m4 \
$(top_srcdir)/config/kernel-ktime_get_coarse_real_ts64.m4 \
$(top_srcdir)/config/kernel-kuidgid.m4 \
$(top_srcdir)/config/kernel-pde-data.m4 \
$(top_srcdir)/config/kernel-rw.m4 \
......@@ -62,6 +64,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-shrinker.m4 \
$(top_srcdir)/config/kernel-spinlock.m4 \
$(top_srcdir)/config/kernel-timer.m4 \
$(top_srcdir)/config/kernel-timespec_sub.m4 \
$(top_srcdir)/config/kernel-totalram-pages-func.m4 \
$(top_srcdir)/config/kernel-trim-unused-symbols.m4 \
$(top_srcdir)/config/kernel-truncate-range.m4 \
$(top_srcdir)/config/kernel-urange-sleep.m4 \
......
......@@ -38,11 +38,13 @@ subdir = man
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-current_kernel_time.m4 \
$(top_srcdir)/config/kernel-fallocate.m4 \
$(top_srcdir)/config/kernel-group-info.m4 \
$(top_srcdir)/config/kernel-inode-lock.m4 \
$(top_srcdir)/config/kernel-inode-times.m4 \
$(top_srcdir)/config/kernel-kmem-cache.m4 \
$(top_srcdir)/config/kernel-ktime_get_coarse_real_ts64.m4 \
$(top_srcdir)/config/kernel-kuidgid.m4 \
$(top_srcdir)/config/kernel-pde-data.m4 \
$(top_srcdir)/config/kernel-rw.m4 \
......@@ -52,6 +54,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-shrinker.m4 \
$(top_srcdir)/config/kernel-spinlock.m4 \
$(top_srcdir)/config/kernel-timer.m4 \
$(top_srcdir)/config/kernel-timespec_sub.m4 \
$(top_srcdir)/config/kernel-totalram-pages-func.m4 \
$(top_srcdir)/config/kernel-trim-unused-symbols.m4 \
$(top_srcdir)/config/kernel-truncate-range.m4 \
$(top_srcdir)/config/kernel-urange-sleep.m4 \
......
......@@ -39,11 +39,13 @@ DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-current_kernel_time.m4 \
$(top_srcdir)/config/kernel-fallocate.m4 \
$(top_srcdir)/config/kernel-group-info.m4 \
$(top_srcdir)/config/kernel-inode-lock.m4 \
$(top_srcdir)/config/kernel-inode-times.m4 \
$(top_srcdir)/config/kernel-kmem-cache.m4 \
$(top_srcdir)/config/kernel-ktime_get_coarse_real_ts64.m4 \
$(top_srcdir)/config/kernel-kuidgid.m4 \
$(top_srcdir)/config/kernel-pde-data.m4 \
$(top_srcdir)/config/kernel-rw.m4 \
......@@ -53,6 +55,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-shrinker.m4 \
$(top_srcdir)/config/kernel-spinlock.m4 \
$(top_srcdir)/config/kernel-timer.m4 \
$(top_srcdir)/config/kernel-timespec_sub.m4 \
$(top_srcdir)/config/kernel-totalram-pages-func.m4 \
$(top_srcdir)/config/kernel-trim-unused-symbols.m4 \
$(top_srcdir)/config/kernel-truncate-range.m4 \
$(top_srcdir)/config/kernel-urange-sleep.m4 \
......
......@@ -39,11 +39,13 @@ DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-current_kernel_time.m4 \
$(top_srcdir)/config/kernel-fallocate.m4 \
$(top_srcdir)/config/kernel-group-info.m4 \
$(top_srcdir)/config/kernel-inode-lock.m4 \
$(top_srcdir)/config/kernel-inode-times.m4 \
$(top_srcdir)/config/kernel-kmem-cache.m4 \
$(top_srcdir)/config/kernel-ktime_get_coarse_real_ts64.m4 \
$(top_srcdir)/config/kernel-kuidgid.m4 \
$(top_srcdir)/config/kernel-pde-data.m4 \
$(top_srcdir)/config/kernel-rw.m4 \
......@@ -53,6 +55,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-shrinker.m4 \
$(top_srcdir)/config/kernel-spinlock.m4 \
$(top_srcdir)/config/kernel-timer.m4 \
$(top_srcdir)/config/kernel-timespec_sub.m4 \
$(top_srcdir)/config/kernel-totalram-pages-func.m4 \
$(top_srcdir)/config/kernel-trim-unused-symbols.m4 \
$(top_srcdir)/config/kernel-truncate-range.m4 \
$(top_srcdir)/config/kernel-urange-sleep.m4 \
......
......@@ -8,19 +8,19 @@ SPL_MODULE_CFLAGS += -include @abs_top_builddir@/spl_config.h
export SPL_MODULE_CFLAGS
modules:
$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` @KERNELMAKE_PARAMS@ CONFIG_SPL=m $@
$(MAKE) -C @LINUX_OBJ@ M=`pwd` @KERNELMAKE_PARAMS@ CONFIG_SPL=m $@
clean:
@# Only cleanup the kernel build directories when CONFIG_KERNEL
@# is defined. This indicates that kernel modules should be built.
@CONFIG_KERNEL_TRUE@ $(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` @KERNELMAKE_PARAMS@ $@
@CONFIG_KERNEL_TRUE@ $(MAKE) -C @LINUX_OBJ@ M=`pwd` @KERNELMAKE_PARAMS@ $@
if [ -f @LINUX_SYMBOLS@ ]; then $(RM) @LINUX_SYMBOLS@; fi
if [ -f Module.markers ]; then $(RM) Module.markers; fi
modules_install:
@# Install the kernel modules
$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` $@ \
$(MAKE) -C @LINUX_OBJ@ M=`pwd` $@ \
INSTALL_MOD_PATH=$(DESTDIR)$(INSTALL_MOD_PATH) \
INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) \
KERNELRELEASE=@LINUX_VERSION@
......
......@@ -30,6 +30,7 @@
#include <sys/random.h>
#include <sys/thread.h>
#include <sys/vmsystm.h>
#include <sys/time.h>
#include "splat-internal.h"
#define SPLAT_KMEM_NAME "kmem"
......
......@@ -38,11 +38,13 @@ subdir = rpm
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-current_kernel_time.m4 \
$(top_srcdir)/config/kernel-fallocate.m4 \
$(top_srcdir)/config/kernel-group-info.m4 \
$(top_srcdir)/config/kernel-inode-lock.m4 \
$(top_srcdir)/config/kernel-inode-times.m4 \
$(top_srcdir)/config/kernel-kmem-cache.m4 \
$(top_srcdir)/config/kernel-ktime_get_coarse_real_ts64.m4 \
$(top_srcdir)/config/kernel-kuidgid.m4 \
$(top_srcdir)/config/kernel-pde-data.m4 \
$(top_srcdir)/config/kernel-rw.m4 \
......@@ -52,6 +54,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-shrinker.m4 \
$(top_srcdir)/config/kernel-spinlock.m4 \
$(top_srcdir)/config/kernel-timer.m4 \
$(top_srcdir)/config/kernel-timespec_sub.m4 \
$(top_srcdir)/config/kernel-totalram-pages-func.m4 \
$(top_srcdir)/config/kernel-trim-unused-symbols.m4 \
$(top_srcdir)/config/kernel-truncate-range.m4 \
$(top_srcdir)/config/kernel-urange-sleep.m4 \
......
......@@ -40,11 +40,13 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(srcdir)/spl.spec.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-current_kernel_time.m4 \
$(top_srcdir)/config/kernel-fallocate.m4 \
$(top_srcdir)/config/kernel-group-info.m4 \
$(top_srcdir)/config/kernel-inode-lock.m4 \
$(top_srcdir)/config/kernel-inode-times.m4 \
$(top_srcdir)/config/kernel-kmem-cache.m4 \
$(top_srcdir)/config/kernel-ktime_get_coarse_real_ts64.m4 \
$(top_srcdir)/config/kernel-kuidgid.m4 \
$(top_srcdir)/config/kernel-pde-data.m4 \
$(top_srcdir)/config/kernel-rw.m4 \
......@@ -54,6 +56,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-shrinker.m4 \
$(top_srcdir)/config/kernel-spinlock.m4 \
$(top_srcdir)/config/kernel-timer.m4 \
$(top_srcdir)/config/kernel-timespec_sub.m4 \
$(top_srcdir)/config/kernel-totalram-pages-func.m4 \
$(top_srcdir)/config/kernel-trim-unused-symbols.m4 \
$(top_srcdir)/config/kernel-truncate-range.m4 \
$(top_srcdir)/config/kernel-urange-sleep.m4 \
......
......@@ -171,6 +171,9 @@ chmod u+x ${RPM_BUILD_ROOT}%{kmodinstdir_prefix}/*/extra/*/*/*
rm -rf $RPM_BUILD_ROOT
%changelog
* Fri Feb 22 2019 Tony Hutter <hutter2@llnl.gov> - 0.7.13-1
- Released 0.7.13-1, detailed release notes are available at:
- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.13
* Thu Nov 08 2018 Tony Hutter <hutter2@llnl.gov> - 0.7.12-1
- Released 0.7.12-1, detailed release notes are available at:
- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.12
......
......@@ -47,6 +47,9 @@ make install DESTDIR=%{?buildroot}
%{_mandir}/man5/*
%changelog
* Fri Feb 22 2019 Tony Hutter <hutter2@llnl.gov> - 0.7.13-1
- Released 0.7.13-1, detailed release notes are available at:
- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.13
* Thu Nov 08 2018 Tony Hutter <hutter2@llnl.gov> - 0.7.12-1
- Released 0.7.12-1, detailed release notes are available at:
- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.12
......
......@@ -40,11 +40,13 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(srcdir)/spl.spec.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-current_kernel_time.m4 \
$(top_srcdir)/config/kernel-fallocate.m4 \
$(top_srcdir)/config/kernel-group-info.m4 \
$(top_srcdir)/config/kernel-inode-lock.m4 \
$(top_srcdir)/config/kernel-inode-times.m4 \
$(top_srcdir)/config/kernel-kmem-cache.m4 \
$(top_srcdir)/config/kernel-ktime_get_coarse_real_ts64.m4 \
$(top_srcdir)/config/kernel-kuidgid.m4 \
$(top_srcdir)/config/kernel-pde-data.m4 \
$(top_srcdir)/config/kernel-rw.m4 \
......@@ -54,6 +56,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-shrinker.m4 \
$(top_srcdir)/config/kernel-spinlock.m4 \
$(top_srcdir)/config/kernel-timer.m4 \
$(top_srcdir)/config/kernel-timespec_sub.m4 \
$(top_srcdir)/config/kernel-totalram-pages-func.m4 \
$(top_srcdir)/config/kernel-trim-unused-symbols.m4 \
$(top_srcdir)/config/kernel-truncate-range.m4 \
$(top_srcdir)/config/kernel-urange-sleep.m4 \
......
......@@ -47,6 +47,9 @@ make install DESTDIR=%{?buildroot}
%{_mandir}/man5/*
%changelog
* Fri Feb 22 2019 Tony Hutter <hutter2@llnl.gov> - 0.7.13-1
- Released 0.7.13-1, detailed release notes are available at:
- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.13
* Thu Nov 08 2018 Tony Hutter <hutter2@llnl.gov> - 0.7.12-1
- Released 0.7.12-1, detailed release notes are available at:
- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.12
......
......@@ -38,11 +38,13 @@ subdir = scripts
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-current_kernel_time.m4 \
$(top_srcdir)/config/kernel-fallocate.m4 \
$(top_srcdir)/config/kernel-group-info.m4 \
$(top_srcdir)/config/kernel-inode-lock.m4 \
$(top_srcdir)/config/kernel-inode-times.m4 \
$(top_srcdir)/config/kernel-kmem-cache.m4 \
$(top_srcdir)/config/kernel-ktime_get_coarse_real_ts64.m4 \
$(top_srcdir)/config/kernel-kuidgid.m4 \
$(top_srcdir)/config/kernel-pde-data.m4 \
$(top_srcdir)/config/kernel-rw.m4 \
......@@ -52,6 +54,8 @@ am__aclocal_m4_deps = $(top_srcdir)/config/kernel-ctl-table-name.m4 \
$(top_srcdir)/config/kernel-shrinker.m4 \
$(top_srcdir)/config/kernel-spinlock.m4 \
$(top_srcdir)/config/kernel-timer.m4 \
$(top_srcdir)/config/kernel-timespec_sub.m4 \
$(top_srcdir)/config/kernel-totalram-pages-func.m4 \
$(top_srcdir)/config/kernel-trim-unused-symbols.m4 \
$(top_srcdir)/config/kernel-truncate-range.m4 \
$(top_srcdir)/config/kernel-urange-sleep.m4 \
......
......@@ -69,12 +69,18 @@
/* yes */
#undef HAVE_IO_SCHEDULE_TIMEOUT
/* current_kernel_time() exists */
#undef HAVE_KERNEL_CURRENT_TIME
/* kernel_read() take loff_t pointer */
#undef HAVE_KERNEL_READ_PPOS
/* timer_list.function gets a timer_list */
#undef HAVE_KERNEL_TIMER_FUNCTION_TIMER_LIST
/* kernel has timespec_sub */
#undef HAVE_KERNEL_TIMESPEC_SUB
/* kernel_write() take loff_t pointer */
#undef HAVE_KERNEL_WRITE_PPOS
......@@ -87,6 +93,9 @@
/* struct kmem_cache has gfpflags */
#undef HAVE_KMEM_CACHE_GFPFLAGS
/* ktime_get_coarse_real_ts64() exists */
#undef HAVE_KTIME_GET_COARSE_REAL_TS64
/* kuid_t/kgid_t in use */
#undef HAVE_KUIDGID_T
......@@ -135,6 +144,9 @@
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* kernel has totalram_pages() */
#undef HAVE_TOTALRAM_PAGES_FUNC
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
......