diff -Nru spl-linux-0.6.5.6/debian/changelog spl-linux-0.6.5.6/debian/changelog --- spl-linux-0.6.5.6/debian/changelog 2016-05-06 12:01:27.000000000 +0000 +++ spl-linux-0.6.5.6/debian/changelog 2016-07-05 18:55:51.000000000 +0000 @@ -1,3 +1,20 @@ +spl-linux (0.6.5.6-0ubuntu4) xenial; urgency=medium + + * Fix do_div() types in condvar:timeout (LP: #1599219) + - The do_div() macro expects unsigned types and this is detected in + powerpc implementation of do_div(). + * Only perform dep8 tests on real hardware (LP: #1599221) + - Add isolation-machine to tests/control Restrictions as + we need to insert/remove the spl kernel module. + - Also restrict spl tests to 64 bit systems and don't run on 32 bit + architectures. + - Limit large memory splat tests on systems with plenty of memory to + accommodate the tests. + * Fix dep8 splat test, should be kmem:slab_align and not slab_align in + the SPLAT_TESTS large memory test case (LP: #1599259) + + -- Colin Ian King Tue, 05 Jul 2016 19:51:41 +0100 + spl-linux (0.6.5.6-0ubuntu3) xenial; urgency=medium * Enable the spl/splat tests to exercise the SPL kernel module (LP: #1579036) diff -Nru spl-linux-0.6.5.6/debian/patches/0003-Fix-do_div-types-in-condvar-timeout.patch spl-linux-0.6.5.6/debian/patches/0003-Fix-do_div-types-in-condvar-timeout.patch --- spl-linux-0.6.5.6/debian/patches/0003-Fix-do_div-types-in-condvar-timeout.patch 1970-01-01 00:00:00.000000000 +0000 +++ spl-linux-0.6.5.6/debian/patches/0003-Fix-do_div-types-in-condvar-timeout.patch 2016-07-05 16:03:49.000000000 +0000 @@ -0,0 +1,56 @@ +From 66e89c1119f6cbb54d93c3d8dae6ed5d0b930557 Mon Sep 17 00:00:00 2001 +From: Brian Behlendorf +Date: Tue, 22 Dec 2015 09:26:10 -0800 +Subject: [PATCH] Fix do_div() types in condvar:timeout + +The do_div() macro expects unsigned types and this is detected in +powerpc implementation of do_div(). + +Signed-off-by: Brian Behlendorf +Closes #516 +--- + module/splat/splat-condvar.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/module/splat/splat-condvar.c b/module/splat/splat-condvar.c +index 3ffa1c7..bdbaf79 100644 +--- a/module/splat/splat-condvar.c ++++ b/module/splat/splat-condvar.c +@@ -413,8 +413,8 @@ splat_condvar_test5(struct file *file, void *arg) + kcondvar_t condvar; + kmutex_t mtx; + clock_t time_left, time_before, time_after, time_delta; +- int64_t whole_delta; +- int32_t remain_delta; ++ uint64_t whole_delta; ++ uint32_t remain_delta; + int rc = 0; + + mutex_init(&mtx, SPLAT_CONDVAR_TEST_NAME, MUTEX_DEFAULT, NULL); +@@ -438,19 +438,20 @@ splat_condvar_test5(struct file *file, void *arg) + splat_vprint(file, SPLAT_CONDVAR_TEST5_NAME, + "Thread correctly timed out and was asleep " + "for %d.%d seconds (%d second min)\n", +- (int)whole_delta, remain_delta, 1); ++ (int)whole_delta, (int)remain_delta, 1); + } else { + splat_vprint(file, SPLAT_CONDVAR_TEST5_NAME, + "Thread correctly timed out but was only " + "asleep for %d.%d seconds (%d second " +- "min)\n", (int)whole_delta, remain_delta, 1); ++ "min)\n", (int)whole_delta, ++ (int)remain_delta, 1); + rc = -ETIMEDOUT; + } + } else { + splat_vprint(file, SPLAT_CONDVAR_TEST5_NAME, + "Thread exited after only %d.%d seconds, it " + "did not hit the %d second timeout\n", +- (int)whole_delta, remain_delta, 1); ++ (int)whole_delta, (int)remain_delta, 1); + rc = -ETIMEDOUT; + } + +-- +2.8.1 + diff -Nru spl-linux-0.6.5.6/debian/patches/series spl-linux-0.6.5.6/debian/patches/series --- spl-linux-0.6.5.6/debian/patches/series 2016-03-23 23:45:13.000000000 +0000 +++ spl-linux-0.6.5.6/debian/patches/series 2016-07-05 16:04:08.000000000 +0000 @@ -1,3 +1,4 @@ # 0001-Revert-Remove-etc-hostid-missing-warning.patch 0002-Add-COPYING-to-EXTRA_DIST +0003-Fix-do_div-types-in-condvar-timeout.patch diff -Nru spl-linux-0.6.5.6/debian/tests/check.sh spl-linux-0.6.5.6/debian/tests/check.sh --- spl-linux-0.6.5.6/debian/tests/check.sh 2016-05-06 12:30:08.000000000 +0000 +++ spl-linux-0.6.5.6/debian/tests/check.sh 2016-07-05 18:53:37.000000000 +0000 @@ -36,8 +36,8 @@ # SPLAT_TESTS=\ "kmem:kmem_alloc kmem:kmem_zalloc kmem:vmem_alloc "\ -"kmem:vmem_zalloc kmem:slab_small kmem:slab_large "\ -"kmem:slab_align kmem:slab_reap kmem:slab_age "\ +"kmem:vmem_zalloc kmem:slab_small "\ +"kmem:slab_reap kmem:slab_age "\ "kmem:slab_lock taskq:single taskq:multiple "\ "taskq:system taskq:wait taskq:front taskq:recurse "\ "taskq:contention taskq:delay taskq:cancel taskq:dynamic "\ @@ -45,6 +45,13 @@ "time:all vnode:all kobj:all atomic:all list:all "\ "generic:all cred:all zlib:all linux:all" +memtotal=$(grep "MemTotal" /proc/meminfo | awk '{print $2}') +if [ ! -z $memtotal ]; then + if [ $memtotal -gt 4194304 ]; then + SPLAT_TESTS="kmem:slab_large kmem:slab_align $SPLAT_TESTS" + fi +fi + tests="" for t in ${SPLAT_TESTS} do @@ -60,6 +67,11 @@ echo "${prog}: $1" >&2 } +if [ $(getconf LONG_BIT) != 64 ]; then + echo "Skipping test, only valid for 64 bit architectures" + exit 0 +fi + if [ -n "$V" ]; then verbose="-v" fi diff -Nru spl-linux-0.6.5.6/debian/tests/control spl-linux-0.6.5.6/debian/tests/control --- spl-linux-0.6.5.6/debian/tests/control 2016-05-06 11:58:47.000000000 +0000 +++ spl-linux-0.6.5.6/debian/tests/control 2016-07-05 15:56:11.000000000 +0000 @@ -1,3 +1,3 @@ Tests: dkms-test check.sh -Restrictions: needs-root, allow-stderr +Restrictions: needs-root, allow-stderr, isolation-machine Depends: dkms