Commit Graph

2495 Commits

Author SHA1 Message Date
Brian Behlendorf 18b7a966e4 Minor build fixes from asm-generic change.
- Drop _NOTE(CONSTCOND) usage in libspl this is Solaris specific.
- Resolve conflicting OR and AND long prototypes.
2009-07-16 13:37:59 -07:00
Brian Behlendorf 3ae0e369f3 Add generic user space atomic support.
Futher testing on my powerpc system revealed that the powerpc
specific atomic implemetation was flawed.  Rather than spending
a lot of time correctly reimplementing it in assembly I have
reworked it in to a 100% generic version.  The generic version
will not perform well but it does provide correct sematics.  It
will be used only when there is no architecture specific version
available.  These changes do not impact x86_64 and x86 which have
have correct native implementations.
2009-07-16 09:59:44 -07:00
Brian Behlendorf 1c396c4600 Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2009-07-14 16:55:21 -07:00
Brian Behlendorf 5753d78dcd Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-14 16:49:29 -07:00
Brian Behlendorf e9d7526fb3 Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2009-07-14 16:49:27 -07:00
Brian Behlendorf 407a09cf3e Merge commit 'refs/top-bases/feature-branch' into feature-branch 2009-07-14 16:49:23 -07:00
Brian Behlendorf 8d55cf8c97 Merge branch 'feature-pthreads' into refs/top-bases/feature-branch 2009-07-14 16:49:22 -07:00
Brian Behlendorf 5ef898a106 Update TODO by removing out of date failure modes.
From what I've seen so far the pthreads cleanup has addressed
most/all of the pthread_* related crashes in ztest.
2009-07-14 16:36:28 -07:00
Brian Behlendorf a13cdecdd2 Remove debug printf 2009-07-14 16:35:13 -07:00
Ricardo M. Correia 4279777f47 Fixed the zpool and zfs commands returning 'internal error: Out of memory.' due to a failure in nvlist_common().
The failure turned out to be missing macro definitions for little
endian and big endian.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2009-07-14 15:31:03 -07:00
Brian Behlendorf 5427e1eec2 Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2009-07-14 14:39:09 -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 6923d172c5 Merge commit 'refs/top-bases/feature-branch' into feature-branch 2009-07-14 14:34:36 -07:00
Brian Behlendorf 605a501311 Merge branch 'feature-pthreads' into refs/top-bases/feature-branch 2009-07-14 14:34:35 -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 36e68f7a77 Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2009-07-10 11:53:08 -07:00
Brian Behlendorf e16ffab302 SPLBUILD now includes modules 2009-07-10 11:37:30 -07:00
Brian Behlendorf b29c6114bb Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2009-07-10 10:54:35 -07:00
Brian Behlendorf 4baa59ce44 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-10 10:50:13 -07:00
Brian Behlendorf cfec48619c Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-07-10 10:50:12 -07:00
Brian Behlendorf 1817377ecd Merge commit 'refs/top-bases/gcc-branch' into gcc-branch 2009-07-10 10:50:11 -07:00
Brian Behlendorf 84b52133f3 Merge branch 'gcc-unused' into refs/top-bases/gcc-branch 2009-07-10 10:50:10 -07:00
Brian Behlendorf f3c55459b0 Pull ; in to macro to ensure it get's entirely removed, C90 issue. 2009-07-10 10:40:55 -07:00
Brian Behlendorf 89409fbf3c Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2009-07-09 15:12:02 -07:00
Brian Behlendorf 24662d61d9 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-09 15:08:06 -07:00
Brian Behlendorf 2f4e745a09 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-07-09 15:08:04 -07:00
Brian Behlendorf 893e11c6be Merge commit 'refs/top-bases/gcc-branch' into gcc-branch 2009-07-09 15:08:03 -07:00
Brian Behlendorf bed14af385 Merge branch 'gcc-no-parenthesis' into refs/top-bases/gcc-branch 2009-07-09 15:08:03 -07:00
Brian Behlendorf ae132945b4 Add suggested paranthesis. 2009-07-09 14:59:10 -07:00
Brian Behlendorf 478d141f35 Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2009-07-09 13:21:39 -07:00
Brian Behlendorf 17d368fa5f Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-09 13:17:27 -07:00
Brian Behlendorf a3bc97c2c3 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-07-09 13:17:26 -07:00
Brian Behlendorf 947db84a82 Merge commit 'refs/top-bases/gcc-branch' into gcc-branch 2009-07-09 13:17:25 -07:00
Brian Behlendorf 9ad0fef49e Merge branch 'gcc-uninit' into refs/top-bases/gcc-branch
Conflicts:

	module/nvpair/nvpair.c
2009-07-09 13:08:30 -07:00
Brian Behlendorf 683b2f0d00 TopGit missed this update when I updated the same line in the
gcc-unused and gcc-uninit topic branches at the same time and
then ran 'tg update'.  I'll need to keep that sort of thing
in mind when updating multiple topic branches between updates.
2009-07-09 13:07:05 -07:00
Brian Behlendorf 5ccf3584de Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2009-07-09 12:28:00 -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 14445eaa8e Merge commit 'refs/top-bases/gcc-branch' into gcc-branch 2009-07-09 12:23:37 -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 076406cfe3 Merge branch 'gcc-uninit' into refs/top-bases/gcc-branch 2009-07-09 12:23:35 -07:00
Brian Behlendorf a551134b2f Unitialized variables should be handled in the gcc-uninit topic branch. 2009-07-09 12:14:56 -07:00
Brian Behlendorf a19906fe65 Unitialized variables should be handled in the gcc-uninit topic branch. 2009-07-09 12:13:56 -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 9cf1451c53 Add ASSERTV macro to simplify removing variables (the V in ASSERTV)
when they are only used in ASSERTs which will be compiled out.
2009-07-09 12:08:40 -07:00
Brian Behlendorf 69d8cabd76 Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2009-07-09 10:43:43 -07:00
Brian Behlendorf e5e94c40f7 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-09 10:39:44 -07:00
Brian Behlendorf aa8ed32ee8 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-07-09 10:39:43 -07:00
Brian Behlendorf b2eb5a454b Merge commit 'refs/top-bases/gcc-branch' into gcc-branch 2009-07-09 10:39:42 -07:00