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
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
9af7aa53eb
Set stack frame limit
...
For all module/library functions ensure so stack frame exceeds 1024
bytes. Ideally this should be set lower to say 512 bytes but there
are still numerous functions which exceed even this limit. For now
this is set to 1024 to ensure we catch the worst offenders.
Additionally, set the limit for ztest to 1024 bytes since the idea
here is to catch stack issues in user space before we find them by
overrunning a kernel stack. This should also be reduced to 512
bytes as soon as all the trouble makes are fixed.
Finally, add -fstack-check to gcc build options when --enable-debug
is specified at configure time. This ensures that each page on the
stack will be touched and we will generate a segfault on stack
overflow.
Over time we can gradually fix the following functions:
536 zfs:dsl_deadlist_regenerate
536 zfs:dsl_load_sets
536 zfs:zil_parse
544 zfs:zfs_ioc_recv
552 zfs:dsl_deadlist_insert_bpobj
552 zfs:vdev_dtl_sync
584 zfs:copy_create_perms
608 zfs:ddt_class_contains
608 zfs:ddt_prefetch
608 zfs:__dprintf
616 zfs:ddt_lookup
648 zfs:dsl_scan_ddt
696 zfs:dsl_deadlist_merge
736 zfs:ddt_zap_walk
744 zfs:dsl_prop_get_all_impl
872 zfs:dnode_evict_dbufs
2010-06-29 10:08:48 -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
08060ef853
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2010-06-14 16:25:02 -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
7eadc495c6
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2010-06-14 15:37:05 -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
bdf5763c0a
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2010-06-14 14:42:58 -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
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
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
Brian Behlendorf
51536ea5f4
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2010-05-27 13:32:58 -07:00