Commit Graph

255 Commits

Author SHA1 Message Date
Brian Behlendorf 74ca5bf341 Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2009-10-23 12:29:14 -07:00
Brian Behlendorf 74b67983f1 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-10-23 12:24:39 -07:00
Brian Behlendorf edb22b6a3e Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-10-23 12:24:38 -07:00
Brian Behlendorf d8d360724d Merge branch 'gcc-uninit' into refs/top-bases/gcc-branch 2009-10-23 12:24:37 -07:00
Brian Behlendorf 5972702242 Add two more possible uninit vars flagged by gcc. 2009-10-23 11:43:09 -07:00
Brian Behlendorf 40369b1821 Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2009-10-15 16:45:49 -07:00
Brian Behlendorf a09d33e929 Update build system for libblkid integration 2009-10-15 16:25:18 -07:00
Brian Behlendorf 2bd515bc2d Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2009-10-14 15:59:34 -07:00
Brian Behlendorf 09a8c99097 Additional build system update for libefi library.
This include updating all the Makefile.am to have the correct
include paths and libraries.  In addition, the zlib m4 macro was
updated to more correctly integrate with the Makefiles.  And I
added two new macros libblkid and libuuid which will be needed by
subsequent commits for blkid and uuid support respectively.  The
blkid support is optional, the uuid support is mandatory for libefi.
2009-10-14 15:47:41 -07:00
Brian Behlendorf 6b40b82861 Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2009-10-09 16:44:35 -07:00
Brian Behlendorf cb91bbe6ce Additional set of build system tweaks for libefi library. 2009-10-09 16:37:32 -07:00
Brian Behlendorf c2aea3611b Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2009-10-09 16:13:19 -07:00
Brian Behlendorf a0337cfcd8 Add libefi library in to the build system. 2009-10-09 15:58:45 -07:00
Brian Behlendorf bc17042a77 Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2009-08-18 12:59:44 -07:00
Brian Behlendorf 50c623ccef Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-08-18 12:10:55 -07:00
Brian Behlendorf b99b422796 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-08-18 12:08:58 -07:00
Brian Behlendorf c5b5d32d69 Merge commit 'refs/top-bases/gcc-uninit' into gcc-uninit
Conflicts:

	module/zfs/vdev_raidz.c
2009-08-18 12:06:21 -07:00
Brian Behlendorf e5e4fadc34 Merge branch 'gcc-c90' into refs/top-bases/gcc-branch
Conflicts:

	module/zfs/dmu.c
	module/zfs/dsl_deleg.c
	module/zfs/rrwlock.c
	module/zfs/vdev_raidz.c
2009-08-18 12:04:53 -07:00
Brian Behlendorf 0f80e41c89 Merge commit 'refs/top-bases/gcc-c90' into gcc-c90
Conflicts:

	module/zfs/spa_misc.c
	module/zfs/vdev_label.c
2009-08-18 11:55:36 -07:00
Brian Behlendorf 45d1cae3b8 Rebase master to b121 2009-08-18 11:43:27 -07:00
Brian Behlendorf 9a94206f03 Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2009-08-14 10:26:12 -07:00
Brian Behlendorf 503a1a983c Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-08-14 10:22:10 -07:00
Brian Behlendorf bd586322cc Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-08-14 10:22:08 -07:00
Brian Behlendorf f9bab26542 Merge branch 'gcc-fortify-source' into refs/top-bases/gcc-branch 2009-08-14 10:22:07 -07:00
Brian Behlendorf e6b541db64 All calls to ftruncate() must have their return code checked.
Under FC11 rpm builds by default add the --fortify-source option which
ensures that functions flagged with certain attributes must have their
return codes checked.  Normally this is just a warning but we always
build with -Werror so this is fatal.  Simply wrap the function in a
verify call to ensure we catch a failure if there is one.
2009-08-14 10:11:03 -07:00
Brian Behlendorf 754c2e2025 Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2009-08-04 15:58:52 -07:00
Brian Behlendorf f88cbd6535 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-08-04 15:54:21 -07:00
Brian Behlendorf 8c28ed9bff Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2009-08-04 15:54:19 -07:00
Brian Behlendorf 7069d048a0 Revert kthreads based on pthread thread specific data due to failure.
With this patch applied I get the following failure 100% of the time,
I'd prefer to debug it and keep moving forward but I do not have the
time right now so I'm reverting the patch to the version which worked.
Ricardo please fix.

(gdb) bt
0  ztest_dmu_write_parallel (za=0x2aaaac898960) at
../../cmd/ztest/ztest.c:2566
1  0x0000000000405a79 in ztest_thread (arg=<value optimized out>)
    at ../../cmd/ztest/ztest.c:3862
2  0x00002b2e6a7a841d in zk_thread_helper (arg=<value optimized out>)
    at ../../lib/libzpool/kernel.c:131
3  0x000000379be06367 in start_thread (arg=<value optimized out>)
    at pthread_create.c:297
4  0x000000379b2d30ad in clone () from /lib64/libc.so.6
2009-08-04 15:42:24 -07:00
Brian Behlendorf 2f2296bbe5 Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2009-08-04 14:43:42 -07:00
Brian Behlendorf 3e5388907b Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-08-04 14:39:07 -07:00
Brian Behlendorf 9aedfd95f6 Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2009-08-04 14:39:06 -07:00
Brian Behlendorf 0ebcbe2e74 Revert unneeded ztest_resume() prototype changes to match upstream. 2009-08-04 14:29:50 -07:00
Ricardo M. Correia c0ce3b40f2 Reimplement user kthreads based on pthread thread specific data.
This resolves previous scalabily concerns about the cost of calling
curthread which previously required a list walk.  The kthread address
is now tracked as thread specific data which can be quickly returned.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2009-08-04 13:55:15 -07:00
Brian Behlendorf 1b6e81d6a3 Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2009-07-14 14:39:57 -07:00
Brian Behlendorf fef9a2c571 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-14 14:34:39 -07:00
Brian Behlendorf 9b9f17a585 Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2009-07-14 14:34:37 -07:00
Brian Behlendorf 864e44e7e0 Provide correct kthread API semantics using pthreads.
The intent here is to fully remove the previous Solaris thread
implementation so we don't need to simulate both Solaris kernel
and user space thread APIs.  The few user space consumers of the
thread API have been updated to use the kthread API.  In order
to support this we needed to more fully support the kthread API
and that means not doing crazy things like casting a thread id
to a pointer and using that as was done before.  This first
implementation is not effecient but it does provide all the
corrent semantics.  If/when performance becomes and issue we
can and should just natively adopt pthreads which is portable.

Let me finish by saying I'm not proud of any of this and I would
love to see it improved.  However, this slow implementation does
at least provide all the correct kthread API semantics whereas
the previous method of casting the thread ID to a pointer was
dodgy at best.
2009-07-14 14:16:26 -07:00
Brian Behlendorf da22b43a13 Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2009-07-09 12:28:45 -07:00
Brian Behlendorf c4c4afd8fd Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-09 12:23:41 -07:00
Brian Behlendorf 6db8882b78 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-07-09 12:23:39 -07:00
Brian Behlendorf 76bf02aebb Merge branch 'gcc-unused' into refs/top-bases/gcc-branch 2009-07-09 12:23:36 -07:00
Brian Behlendorf f1d99c0653 Revert to original debugging code and wrap any variabled used only
within an ASSERT with the ASSERTV macro which will ensure it will
be removed when the ASSERTs are commented out.  This makes gcc much
happier, makes the variables usage explicit, and removes the need
for the compiler to detect it is unused and do the right thing.
2009-07-09 12:10:52 -07:00
Brian Behlendorf 88acc774ac Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2009-07-08 16:12:52 -07:00
Brian Behlendorf 8070ba7bea Untracked pthread changes which must have accidentally crept in.
This is exactly the reason why I want a new topgit command which
takes the base, then incrementally applies all the patches and
compares them againsts what is actually committed.  This would
ensure this sort of thing doesn't happen!
2009-07-08 15:58:28 -07:00
Brian Behlendorf 2ddc86747d Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2009-07-08 15:05:32 -07:00
Brian Behlendorf 058a25a017 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-08 15:00:43 -07:00
Brian Behlendorf 275d66171b Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2009-07-08 15:00:41 -07:00
Brian Behlendorf 57ae3b59e9 Merge commit 'refs/top-bases/feature-pthreads' into feature-pthreads 2009-07-08 15:00:39 -07:00
Brian Behlendorf 2caba8e240 Add new DMU_READ_PREFETCH flag to dmu_read(). 2009-07-08 14:51:55 -07:00