summaryrefslogtreecommitdiffstats
path: root/module
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2009-08-04 15:42:24 -0700
committerBrian Behlendorf <[email protected]>2009-08-04 15:42:24 -0700
commit7069d048a0b7439575e5d00f85ce28838a3fc731 (patch)
treeb18bd7fb96bf8489f97517a68fe6d756e88813a5 /module
parent0ebcbe2e74955971db7b3a41feb295b587222323 (diff)
Revert kthreads based on pthread thread specific data due to failure.
With this patch applied I get the following failure 100% of the time, I'd prefer to debug it and keep moving forward but I do not have the time right now so I'm reverting the patch to the version which worked. Ricardo please fix. (gdb) bt 0 ztest_dmu_write_parallel (za=0x2aaaac898960) at ../../cmd/ztest/ztest.c:2566 1 0x0000000000405a79 in ztest_thread (arg=<value optimized out>) at ../../cmd/ztest/ztest.c:3862 2 0x00002b2e6a7a841d in zk_thread_helper (arg=<value optimized out>) at ../../lib/libzpool/kernel.c:131 3 0x000000379be06367 in start_thread (arg=<value optimized out>) at pthread_create.c:297 4 0x000000379b2d30ad in clone () from /lib64/libc.so.6
Diffstat (limited to 'module')
-rw-r--r--module/zfs/txg.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/module/zfs/txg.c b/module/zfs/txg.c
index b5fcc8c4a..15745b3e9 100644
--- a/module/zfs/txg.c
+++ b/module/zfs/txg.c
@@ -446,6 +446,8 @@ txg_sync_thread(dsl_pool_t *dp)
rw_exit(&tx->tx_suspend);
cv_broadcast(&tx->tx_sync_done_cv);
}
+
+ thread_exit();
}
static void
@@ -490,6 +492,8 @@ txg_quiesce_thread(dsl_pool_t *dp)
cv_broadcast(&tx->tx_sync_more_cv);
cv_broadcast(&tx->tx_quiesce_done_cv);
}
+
+ thread_exit();
}
/*