Brian Behlendorf
b8229898ab
Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch
2010-06-29 10:59:58 -07:00
Brian Behlendorf
0a2b049259
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2010-06-29 10:59:54 -07:00
Brian Behlendorf
aa90238713
Merge branch 'fix-pthreads' into refs/top-bases/fix-branch
2010-06-29 10:12:03 -07:00
Brian Behlendorf
6fe1e37a5e
Additional pthread related fixes for ztest
...
There are 3 fixes in thie commit. First, update ztest_run() to store
the thread id and not the address of the kthread_t. This will be freed
on thread exit and is not safe to use. This is pretty close to how
things were done in the original ztest code before I got there.
Second, for extra paranoia update thread_exit() to return a special
TS_MAGIC value via pthread_exit(). This value is then verified in
pthread_join() to ensure the thread exited cleanly. This can be
done cleanly because the kthread doesn't provide a return code
mechanism we need to worry about.
Third, replace the ztest deadman thread with a signal handler. We
cannot use the previous approach because the correct behavior for
pthreads is to wait for all threads to exit before terminating the
process. Since the deadman thread won't call exit by design we
end up hanging in kernel_exit(). To avoid this we just setup a
SIGALRM signal handle and register a deadman alarm. IMHO this
is simpler and cleaner anyway.
2010-06-29 10:06:09 -07:00
Brian Behlendorf
759df09df2
Merge branch 'linux-kernel-mem' into refs/top-bases/linux-zfs-branch
2010-06-28 11:31:03 -07:00
Brian Behlendorf
f9a7332118
Update kmem_asprintf() and kmem_vasprintf() implementation
...
On a Linux system simply use the native aprintf and vasprintf
functions respectively. Also update the call points to correctly
use va_copy() or va_start() as appropriate.
2010-06-28 10:52:22 -07:00
Brian Behlendorf
6107ded5d5
Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem
2010-06-28 10:36:47 -07:00
Brian Behlendorf
712dbf737f
Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch
2010-06-28 10:36:24 -07:00
Brian Behlendorf
744af7fa00
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2010-06-28 10:36:20 -07:00
Brian Behlendorf
ee53c67258
Merge branch 'fix-pthreads' into refs/top-bases/fix-branch
2010-06-28 10:36:17 -07:00
Brian Behlendorf
a2e73b7516
Allow joinable threads
...
There was previous discussion of a race with joinable threads but to
be honest I can neither exactly remember the race, or recrease the
issue. I believe it may have had to do with pthread_create() returning
without having set kt->tid since this was done in the created thread.
If that was the race then I've 'fixed' it by ensuring the thread id
is set in the thread AND as the first pthread_create() argument. Why
this wasn't done originally I'm not sure, with luck Ricardo remembers.
Additionally, explicitly set a PAGESIZE guard frame at the end of the
stack to aid in detecting stack overflow. And add some conditional
logic to set STACK_SIZE correctly for Solaris.
2010-06-28 10:15:29 -07:00
Brian Behlendorf
76ad38b271
Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem
2010-06-16 14:43:43 -07:00
Brian Behlendorf
8645a8e901
Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch
2010-06-16 14:43:21 -07:00
Brian Behlendorf
2f457b7bd0
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2010-06-16 14:43:17 -07:00
Brian Behlendorf
a2ba5b83f8
Merge branch 'fix-stack-noinline' into refs/top-bases/fix-branch
2010-06-16 14:35:14 -07:00
Brian Behlendorf
bbdb8184ec
Add fix-stack-noinline topic branch
...
Certain function must never be automatically inlined by gcc because
they are stack heavy or called recursively. This patch flags all
such functions I have found as 'noinline' to prevent gcc from making
the optimization.
2010-06-16 14:34:41 -07:00
Brian Behlendorf
17edc470ca
Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem
2010-06-16 14:27:56 -07:00
Brian Behlendorf
76f112175f
Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch
2010-06-16 14:27:35 -07:00
Brian Behlendorf
48ca6d3590
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2010-06-16 14:27:31 -07:00
Brian Behlendorf
30c03a0914
Merge branch 'fix-stack' into refs/top-bases/fix-branch
2010-06-16 14:27:29 -07:00
Brian Behlendorf
2115c30515
Revert fix-stack topic branch
...
This patch will be broken in to several independent stack reductions
and reapplied as new topic branches.
2010-06-16 14:23:31 -07:00
Brian Behlendorf
67e6c9469a
Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem
2010-06-14 16:28:12 -07:00
Brian Behlendorf
1aeae83705
Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch
2010-06-14 16:27:50 -07:00
Brian Behlendorf
08060ef853
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2010-06-14 16:25:02 -07:00
Brian Behlendorf
2969945552
Merge branch 'fix-pthreads' into refs/top-bases/fix-branch
2010-06-14 16:22:00 -07:00
Brian Behlendorf
f9f342c5f2
Add fix-pthreads topic branch
...
This is a portability change which removes the dependence of the Solaris
thread library. All locations where Solaris thread API was used before
have been replaced with equivilant Solaris kernel style thread calls.
In user space the kernel style threading API is implemented in term of
the portable pthreads library. This includes all threads, mutexs,
condition variables, reader/writer locks, and taskqs.
2010-06-14 16:20:44 -07:00
Brian Behlendorf
61f5fa262e
Merge branch 'linux-unused' into refs/top-bases/linux-zfs-branch
...
Conflicts:
lib/libzpool/include/sys/zfs_context.h
2010-05-28 22:21:07 -07:00
Brian Behlendorf
b41143632b
Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch
...
Conflicts:
cmd/zpool/zpool_main.c
cmd/zpool/zpool_vdev.c
cmd/ztest/ztest.c
lib/libzfs/libzfs_dataset.c
lib/libzfs/libzfs_import.c
lib/libzfs/libzfs_mount.c
lib/libzfs/libzfs_pool.c
lib/libzfs/libzfs_sendrecv.c
lib/libzpool/include/sys/zfs_context.h
module/zcommon/include/sys/fs/zfs.h
module/zcommon/zfs_comutil.c
module/zfs/arc.c
module/zfs/dmu.c
module/zfs/dmu_objset.c
module/zfs/dmu_send.c
module/zfs/dmu_tx.c
module/zfs/dsl_dataset.c
module/zfs/dsl_dir.c
module/zfs/dsl_scrub.c
module/zfs/fm.c
module/zfs/include/sys/dmu.h
module/zfs/include/sys/fm/fs/zfs.h
module/zfs/include/sys/fm/protocol.h
module/zfs/include/sys/spa.h
module/zfs/include/sys/zfs_context.h
module/zfs/include/sys/zfs_ioctl.h
module/zfs/include/sys/zvol.h
module/zfs/spa.c
module/zfs/spa_boot.c
module/zfs/spa_history.c
module/zfs/spa_misc.c
module/zfs/txg.c
module/zfs/vdev.c
module/zfs/zfs_fm.c
module/zfs/zfs_ioctl.c
module/zfs/zfs_replay.c
module/zfs/zfs_znode.c
module/zfs/zil.c
module/zfs/zio.c
2010-05-28 22:14:39 -07:00
Brian Behlendorf
e776fc7fa7
Merge commit 'refs/top-bases/linux-unused' into linux-unused
...
Conflicts:
lib/libzpool/include/sys/zfs_context.h
2010-05-28 21:33:46 -07:00
Brian Behlendorf
5e8f78191e
Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem
...
Conflicts:
module/zfs/dmu_send.c
module/zfs/spa_history.c
module/zfs/txg.c
module/zfs/zfs_ioctl.c
2010-05-28 21:31:31 -07:00
Brian Behlendorf
812761eac5
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
...
Conflicts:
cmd/ztest/ztest.c
2010-05-28 15:46:10 -07:00
Brian Behlendorf
e27754d9e8
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
...
Conflicts:
cmd/ztest/ztest.c
lib/libzfs/libzfs_sendrecv.c
module/zfs/dmu_objset.c
module/zfs/dnode.c
module/zfs/dnode_sync.c
module/zfs/dsl_dataset.c
module/zfs/include/sys/dmu_tx.h
module/zfs/include/sys/txg.h
module/zfs/spa_history.c
2010-05-28 15:45:38 -07:00
Brian Behlendorf
89089d1e4b
Merge commit 'refs/top-bases/fix-stack' into fix-stack
...
Conflicts:
module/zfs/dmu_objset.c
module/zfs/spa_history.c
2010-05-28 13:54:08 -07:00
Brian Behlendorf
31630287ca
Merge branch 'fix-dbuf_dirty_record_t' into refs/top-bases/fix-branch
...
Conflicts:
lib/libzfs/libzfs_sendrecv.c
module/zfs/dmu_objset.c
module/zfs/dnode.c
module/zfs/dsl_dataset.c
module/zfs/spa_history.c
2010-05-28 13:51:29 -07:00
Brian Behlendorf
428870ff73
Update core ZFS code from build 121 to build 141.
2010-05-28 13:45:14 -07:00
Brian Behlendorf
bc51c21ff9
Merge commit 'refs/top-bases/linux-unused' into linux-unused
2010-05-27 16:22:44 -07:00
Brian Behlendorf
88f2b26c8f
Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem
2010-05-27 16:21:51 -07:00
Brian Behlendorf
a08f4edee7
Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch
2010-05-27 16:21:20 -07:00
Brian Behlendorf
ea431b4dc6
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2010-05-27 16:14:04 -07:00
Brian Behlendorf
319f69734b
Merge branch 'feature-branch' into refs/top-bases/zfs-branch
...
Conflicts:
cmd/ztest/ztest.c
2010-05-27 16:13:19 -07:00
Brian Behlendorf
390995db28
Revert all remaining changes.
2010-05-27 14:25:06 -07:00
Brian Behlendorf
87875a5eb3
Merge commit 'refs/top-bases/linux-unused' into linux-unused
...
Conflicts:
lib/libzpool/include/sys/zfs_context.h
2010-05-27 13:37:20 -07:00
Brian Behlendorf
9d688fef79
Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem
2010-05-27 13:35:51 -07:00
Brian Behlendorf
95885a2f68
Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch
...
Conflicts:
lib/libzpool/include/sys/zfs_context.h
lib/libzpool/kernel.c
2010-05-27 13:35:09 -07:00
Brian Behlendorf
c17d3e05eb
Merge branch 'feature-branch' into refs/top-bases/zfs-branch
2010-05-27 13:32:58 -07:00
Brian Behlendorf
51536ea5f4
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2010-05-27 13:32:58 -07:00
Brian Behlendorf
a082023842
Merge commit 'refs/top-bases/feature-branch' into feature-branch
...
Conflicts:
cmd/ztest/ztest.c
lib/libzpool/include/sys/zfs_context.h
lib/libzpool/kernel.c
lib/libzpool/taskq.c
2010-05-27 13:30:48 -07:00
Brian Behlendorf
099e8e493a
Remove feature-pthreads prior to b141 update.
...
The pthreads change will need to be reworked and reapplied.
This will be easier to do from scratch rather than sort out
the merge.
2010-05-27 13:23:58 -07:00
Brian Behlendorf
c8d574777d
Merge branch 'linux-kernel-mem' into refs/top-bases/linux-zfs-branch
2010-05-20 14:51:13 -07:00
Brian Behlendorf
fe3cca82ae
Support KM_NODEBUG kmem flag.
...
It turns out the zil allocates quite large buffers. This isn't
all the surprising but we need to suppress the warnings until
it's clear what to do about it.
2010-05-20 14:35:02 -07:00