Brian Behlendorf
4b576456c7
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
2010-07-12 10:23:04 -07:00
Brian Behlendorf
b1ac2755a0
Merge branch 'gcc-fortify-source' into refs/top-bases/gcc-branch
2010-07-12 10:23:03 -07:00
Brian Behlendorf
007b891fc7
Fix -Werror=format-security compiler option
...
Noticed under Ubuntu kernel builds, there were two instances where
printf() was not called with a "%s" and instread directly printed
the string. This can potentially result in a crash and is considered
bad form by gcc. It has been fixed by adding the needed "%s".
2010-07-12 10:11:48 -07:00
Brian Behlendorf
428d8d8a9b
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
2010-07-01 10:42:00 -07:00
Brian Behlendorf
049a26b800
Merge branch 'gcc-fortify-source' into refs/top-bases/gcc-branch
2010-07-01 10:41:59 -07:00
Brian Behlendorf
3b54f5030e
Use VERIFY() for asprintf due to rpm -D_FORTIFY_SOURCE=2
...
This check is part of ztest and a memory failure here is unlikely.
However, if this does occur simply exiting is an perfectly valid
way to handle the issue and it resulves the compiler warning.
ztest.c:5522: error: ignoring return value of 'asprintf',
declared with attribute warn_unused_result
2010-07-01 10:35:11 -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
0efc05dd6f
Merge branch 'fix-stack-ztest' into refs/top-bases/fix-branch
2010-06-29 11:28:36 -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
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
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
17a1689bd4
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
2010-06-28 11:30:35 -07:00
Brian Behlendorf
c2793dd0c7
Merge branch 'gcc-missing-braces' into refs/top-bases/gcc-branch
2010-06-28 11:30:34 -07:00
Brian Behlendorf
5b02d6c084
Zero struct for zdb dump_block_stats
...
Accidentally dropped the zeroing of this structure in the
gcc-missing-braces topic branch which was causing a fall positive
space leak in ztest. Ensure the structure is zero'ed before use.
2010-06-28 10:48:24 -07:00
Brian Behlendorf
2b71569742
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
2010-06-16 12:11:20 -07:00
Brian Behlendorf
877a37d8bd
Merge branch 'gcc-uninit' into refs/top-bases/gcc-branch
2010-06-16 12:11:18 -07:00
Brian Behlendorf
8a001d8f59
Extra uninit vars flagged by gcc 4.1.2
...
Newer versions of the compiler are OK with this but for the sake of
older compilers explicitly initialize them.
2010-06-16 11:45:07 -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
dfe881c0ef
Merge branch 'gcc-unused' into refs/top-bases/gcc-branch
2010-06-14 15:37:01 -07:00
Brian Behlendorf
1e7a75049a
Merge branch 'gcc-uninit' into refs/top-bases/gcc-branch
2010-06-14 15:37:00 -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
2c95012288
Merge branch 'gcc-c90' into refs/top-bases/gcc-branch
2010-06-14 15:36:59 -07:00
Brian Behlendorf
d8e123dc27
Update gcc-unused
...
Fix new instances or changes in gcc flagged unused code. These are
mostly related to variables which are not used when debugging is
disabled and the ASSERTs are compiled out.
2010-06-14 15:29:48 -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
b320a7bb4b
Update gcc-unit
...
Fix new possibly uninitialized variables according to gcc.
2010-06-14 15:24:20 -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
48bd88f014
Update gcc-c90
...
Additional c90 fixes required due to ZFS update, these include fixing new
places c99 specific things have been done and some cleanup of old usage.
2010-06-14 15:15:26 -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
d8f9623833
Merge branch 'gcc-invalid-prototype' into refs/top-bases/gcc-branch
...
Conflicts:
cmd/zdb/zdb_il.c
2010-05-28 15:38:05 -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
d60fc5ca30
Merge commit 'refs/top-bases/gcc-unused' into gcc-unused
...
Conflicts:
module/zfs/dbuf.c
module/zfs/dmu.c
module/zfs/dmu_objset.c
module/zfs/dnode_sync.c
module/zfs/dsl_dataset.c
module/zfs/dsl_prop.c
module/zfs/metaslab.c
module/zfs/spa.c
module/zfs/vdev.c
module/zfs/zap_micro.c
2010-05-28 15:07:36 -07:00
Brian Behlendorf
cd47feb3c8
Merge commit 'refs/top-bases/gcc-uninit' into gcc-uninit
...
Conflicts:
cmd/zpool/zpool_main.c
cmd/ztest/ztest.c
module/zfs/arc.c
2010-05-28 14:56:00 -07:00
Brian Behlendorf
abfb2a3e1d
Merge commit 'refs/top-bases/gcc-missing-case' into gcc-missing-case
...
Conflicts:
lib/libzfs/libzfs_changelist.c
module/zfs/spa.c
module/zfs/zfs_ioctl.c
2010-05-28 14:49:40 -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
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
1be88bcba0
Merge commit 'refs/top-bases/gcc-fortify-source' into gcc-fortify-source
...
Conflicts:
cmd/zdb/zdb.c
2010-05-28 14:37: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