Commit Graph

195 Commits

Author SHA1 Message Date
Brian Behlendorf fe14b6802a Merge branch 'linux-ztest' into refs/top-bases/linux-zfs-branch 2010-06-29 13:43:26 -07:00
Brian Behlendorf 82360d2362 Move local variables to heap
We were already modifing this function so it would run in the
local development environment, so let's just do the stack fixes
here are well.  It's all simple enough.
2010-06-29 13:09:51 -07:00
Brian Behlendorf 43088d22ad Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2010-06-29 11:35:56 -07:00
Brian Behlendorf 8af57a28ce Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch 2010-06-29 11:34:42 -07:00
Brian Behlendorf a0796cadf7 Merge branch 'fix-branch' into refs/top-bases/zfs-branch
Conflicts:

	cmd/ztest/ztest.c
2010-06-29 11:34:31 -07:00
Brian Behlendorf ef01098ef4 Reduce stack used by ztest
While ztest does run in user space we run it with the same stack
restrictions it would have in kernel space.  This ensures that any
stack related issues which would be hit in the kernel can be caught
and debugged in user space instead.

This patch is a first pass to limit the stack usage of every ztest
function to 1024 bytes.  Subsequent updates can further reduce this
2010-06-29 11:25:08 -07:00
Brian Behlendorf e6bcb5c246 Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2010-06-29 11:01:11 -07:00
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 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 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 f44dd08b58 Merge branch 'linux-ztest' into refs/top-bases/linux-zfs-branch 2010-06-28 11:31:50 -07:00
Brian Behlendorf 882ec504ea Minor ztest fixes
Move create/destroy function to correct places.  I'm not sure why
this wasn't caught upstream it should have been, regardless let's
just fix it here.

Personally I find it handy to be able to enable full debugging in
zfs with the 'debug=' command line option so I'm enabled that as
well.
2010-06-28 11:23:50 -07:00
Brian Behlendorf ec2aedc3f3 Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2010-06-14 16:29:00 -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 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 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 9193fdea7e Merge branch 'linux-user-disk' into refs/top-bases/linux-zfs-branch 2010-06-14 16:10:54 -07:00
Brian Behlendorf 302238d84f Update linux-user-disk
Minor updates to handle changes in the user side of ZFS, utils and such.
2010-06-14 16:03:02 -07:00
Brian Behlendorf 0e2926b142 Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2010-06-14 15:38:26 -07:00
Brian Behlendorf e796e2a03e Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch 2010-06-14 15:37:10 -07:00
Brian Behlendorf d9f910d423 Merge branch 'gcc-missing-case' into refs/top-bases/gcc-branch 2010-06-14 15:36:59 -07:00
Brian Behlendorf 993fa8c15c Merge branch 'gcc-invalid-prototype' into refs/top-bases/gcc-branch 2010-06-14 15:36:59 -07:00
Brian Behlendorf b41463f5e8 Update gcc-invalid-prototypes
Fix new invalid prototypes, typically just a missing void arg.
2010-06-14 15:25:49 -07:00
Brian Behlendorf 0a8593375e Update gcc-missing-case
Fix new locations of an incomplete case statement.
2010-06-14 15:19:09 -07:00
Brian Behlendorf 09c1313761 Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2010-06-14 14:44:09 -07:00
Brian Behlendorf 4152507366 Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch 2010-06-14 14:43:02 -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 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 d78690fcd9 Merge commit 'refs/top-bases/linux-ztest' into linux-ztest
Conflicts:
	cmd/ztest/ztest.c
2010-05-28 21:44:27 -07:00
Brian Behlendorf 97352d5103 Merge branch 'gcc-cast' into refs/top-bases/gcc-branch
Conflicts:
	cmd/zpool/zpool_main.c
	cmd/ztest/ztest.c
2010-05-28 15:37:31 -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 2591cac812 Merge commit 'refs/top-bases/gcc-invalid-prototype' into gcc-invalid-prototype
Conflicts:
	cmd/zdb/zdb_il.c
	cmd/ztest/ztest.c
	lib/libzfs/libzfs_mount.c
2010-05-28 14:42:40 -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 428870ff73 Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
Brian Behlendorf 0d354b53b6 Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2010-05-27 16:22:55 -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 64c35deecd Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2010-05-27 13:52:02 -07:00
Brian Behlendorf 5cad1e175d Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch
Conflicts:
	module/zfs/dmu_tx.c
	module/zfs/txg.c
2010-05-27 13:48:54 -07:00
Brian Behlendorf d8e5eb56b8 Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2010-05-27 13:42:00 -07:00
Brian Behlendorf 028e42b692 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2010-05-27 13:42:00 -07:00
Brian Behlendorf cde6e6fec8 Merge commit 'refs/top-bases/feature-branch' into feature-branch 2010-05-27 13:40:15 -07:00
Brian Behlendorf 1e32b3c781 Revert feature-commit-cb feature upstream
We can drop this feature and we will pick up the lastest version
during the b141 update.
2010-05-27 13:39:17 -07:00
Brian Behlendorf c886f405ea Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2010-05-27 13:37:28 -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