Brian Behlendorf
ffeafc898e
Merge branch 'fix-branch' into refs/top-bases/zfs-branch
...
Conflicts:
cmd/ztest/ztest.c
2010-06-29 10:55:38 -07:00
Brian Behlendorf
d2585f5921
Merge branch 'fix-stack-vn_open' into refs/top-bases/fix-branch
2010-06-29 10:15:05 -07:00
Brian Behlendorf
edbb93c11d
Reduce stack usage by vn_open()
...
We should not put a 4k maxpathlen buffer on the stack, instead
locate it to the heap. Even in user space we run ztest with 8K
2010-06-29 10:14:37 -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
191d5e833a
Merge branch 'fix-branch' into refs/top-bases/zfs-branch
2010-06-28 10:36:19 -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
8de2671680
Merge branch 'fix-branch' into refs/top-bases/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
7f979b27f4
Merge branch 'fix-branch' into refs/top-bases/zfs-branch
2010-06-16 14:27:30 -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
eb894076a4
Merge branch 'fix-branch' into refs/top-bases/zfs-branch
...
Conflicts:
cmd/ztest/ztest.c
2010-06-14 16:24:45 -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
953aa00176
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
2010-06-14 15:51:51 -07:00
Brian Behlendorf
5fa2cb516b
Merge branch 'gcc-missing-braces' into refs/top-bases/gcc-branch
2010-06-14 15:51:50 -07:00
Brian Behlendorf
696ec7fb61
Update gcc-missing-braces based on structure changes
...
Almost exclusively this patch handled the addition of another char
array to the zfs_cmd_t structure. Unfortunately c90 doesn't allow
zero filling the entire struct with the '= { 0 };' shorthand.
2010-06-14 15:44:06 -07:00
Brian Behlendorf
b5ba75f385
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
2010-06-14 15:37:03 -07:00
Brian Behlendorf
c8d75a1c9d
Merge branch 'gcc-no-parenthesis' into refs/top-bases/gcc-branch
2010-06-14 15:37:00 -07:00
Brian Behlendorf
1893aa76ec
Update gcc-no-parenthesis
...
Fix new locations of missing parenthesis according to gcc.
2010-06-14 15:16:41 -07:00
Brian Behlendorf
9f9a451561
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
2010-06-14 14:42:57 -07:00
Brian Behlendorf
fc490c18b6
Merge branch 'gcc-cast' into refs/top-bases/gcc-branch
2010-06-14 14:42:56 -07:00
Brian Behlendorf
dd8f6da3da
Update gcc-cast
...
Fix new instances of missing casts or assumed types.
2010-06-14 14:40: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
06ba6dc528
Merge branch 'gcc-missing-braces' into refs/top-bases/gcc-branch
...
Conflicts:
lib/libzfs/libzfs_pool.c
2010-05-28 15:39:07 -07:00
Brian Behlendorf
3e2be634a5
Merge branch 'gcc-c90' into refs/top-bases/gcc-branch
...
Conflicts:
cmd/zdb/zdb.c
cmd/zdb/zdb_il.c
cmd/zfs/zfs_main.c
cmd/zfs/zfs_util.h
cmd/zinject/zinject.h
cmd/zpool/zpool_main.c
cmd/zpool/zpool_util.c
cmd/ztest/ztest.c
lib/libnvpair/include/libnvpair.h
lib/libnvpair/libnvpair.c
lib/libzfs/libzfs_changelist.c
lib/libzfs/libzfs_config.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
module/avl/avl.c
module/avl/include/sys/avl.h
module/nvpair/include/sys/nvpair.h
module/nvpair/nvpair.c
module/zcommon/include/zfs_comutil.h
module/zcommon/include/zfs_prop.h
module/zcommon/zfs_comutil.c
module/zfs/arc.c
module/zfs/dbuf.c
module/zfs/dmu.c
module/zfs/dmu_objset.c
module/zfs/dmu_zfetch.c
module/zfs/dnode_sync.c
module/zfs/dsl_dataset.c
module/zfs/dsl_pool.c
module/zfs/dsl_prop.c
module/zfs/dsl_synctask.c
module/zfs/include/sys/dmu_tx.h
module/zfs/include/sys/dmu_zfetch.h
module/zfs/include/sys/dsl_synctask.h
module/zfs/include/sys/refcount.h
module/zfs/include/sys/txg.h
module/zfs/include/sys/uberblock.h
module/zfs/include/sys/zap_leaf.h
module/zfs/include/sys/zfs_debug.h
module/zfs/include/sys/zfs_znode.h
module/zfs/include/sys/zio_compress.h
module/zfs/include/sys/zvol.h
module/zfs/lzjb.c
module/zfs/metaslab.c
module/zfs/refcount.c
module/zfs/sha256.c
module/zfs/spa.c
module/zfs/spa_boot.c
module/zfs/uberblock.c
module/zfs/vdev.c
module/zfs/zap_micro.c
module/zfs/zfs_ioctl.c
module/zfs/zfs_replay.c
module/zfs/zio.c
module/zfs/zio_compress.c
2010-05-28 15:34:57 -07:00
Brian Behlendorf
28e07224db
Merge commit 'refs/top-bases/gcc-no-parenthesis' into gcc-no-parenthesis
...
Conflicts:
lib/libzfs/libzfs_dataset.c
module/zfs/dmu_objset.c
module/zfs/dsl_dataset.c
module/zfs/dsl_pool.c
module/zfs/spa.c
module/zfs/zfs_ioctl.c
module/zfs/zio.c
2010-05-28 14:54:33 -07:00
Brian Behlendorf
3571832262
Merge commit 'refs/top-bases/gcc-missing-braces' into gcc-missing-braces
...
Conflicts:
cmd/zdb/zdb.c
cmd/ztest/ztest.c
lib/libzfs/libzfs_dataset.c
lib/libzfs/libzfs_pool.c
lib/libzfs/libzfs_sendrecv.c
2010-05-28 14:46:39 -07:00
Brian Behlendorf
475bf41d1c
Merge commit 'refs/top-bases/gcc-cast' into gcc-cast
...
Conflicts:
cmd/zfs/zfs_main.c
cmd/zpool/zpool_main.c
cmd/ztest/ztest.c
2010-05-28 14:36:18 -07:00
Brian Behlendorf
957b7b41d4
Merge commit 'refs/top-bases/gcc-c90' into gcc-c90
...
Conflicts:
cmd/zdb/zdb.c
cmd/ztest/ztest.c
module/zfs/dbuf.c
module/zfs/dsl_dataset.c
module/zfs/dsl_scrub.c
module/zfs/spa.c
module/zfs/vdev.c
module/zfs/zio.c
2010-05-28 14:19:22 -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
818eafca5b
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
2010-05-28 12:42:30 -07:00
Brian Behlendorf
c91169c7c5
Merge branch 'gcc-shadow' into refs/top-bases/gcc-branch
...
Conflicts:
lib/libzfs/libzfs_util.c
2010-05-28 12:42:27 -07:00
Brian Behlendorf
fb72c6ef81
Revert gcc-shadow using -Wno-shadow I can live with
...
While I would rather fix all the instances where something is shadowed
it complicates tracking the OpenSolaris code where they either don't
seem to care or have different conflicts. Anyway, this ends up being
more simply gratutous change than I care for.
2010-05-28 12:34:45 -07:00
Brian Behlendorf
fcfae8fbee
Merge branch 'fix-get-configs' into refs/top-bases/fix-branch
2010-05-28 12:20:30 -07:00
Brian Behlendorf
8390fe4b4b
Merge branch 'fix-branch' into refs/top-bases/zfs-branch
2010-05-28 12:20:30 -07:00
Brian Behlendorf
c37d6443a4
Revert fix-get-configs should no longer be needed
2010-05-28 12:18:45 -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
c17d3e05eb
Merge branch 'feature-branch' into refs/top-bases/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
54cf7ab2bc
Merge branch 'fix-branch' into refs/top-bases/zfs-branch
2010-03-10 09:58:03 -08:00
Brian Behlendorf
166355dcf0
Merge branch 'fix-error-handling' into refs/top-bases/fix-branch
2010-03-10 09:54:43 -08:00
Ricardo M. Correia
62a0ac8f22
Fix some incorrect error handling.
...
In vn_open(), if fstat64() returned an error, the real errno
was being obscured by calling close().
Add error handling for both pwrite64() calls in vn_rdwr().
2010-03-10 09:53:53 -08:00