Commit Graph

94 Commits

Author SHA1 Message Date
Ricardo M. Correia c557557e4a Add umem_alloc_aligned() and honor cache_align field for umem caches
Under linux we open block devices with O_DIRECT which means we must
provide aligned memory buffers.  This patch adds the needed umem
interfaces or in the case of caches simply honors alignment provided
at cache creation time.
2010-03-10 11:51:43 -08:00
Brian Behlendorf 238511d277 Add missing sys/dktp/*.h headers to package. 2009-11-02 14:08:08 -08:00
Brian Behlendorf 22925be29c Add in missing header required by libefi. 2009-10-14 16:50:26 -07:00
Brian Behlendorf 8a905e7dcc Update vtoc.h header and add missing mhd.h header needed by libefi. 2009-10-14 15:52:24 -07:00
Brian Behlendorf d7e242199c Header efi_partition.h moved to lib/libefi/include/sys/ 2009-10-09 16:18:39 -07:00
Brian Behlendorf 2b1eaf77d4 Remove zfs_debug.h which is a duplicate of the version in the
modules directory.  Having two copies is just asking for trouble.
2009-07-20 13:18:24 -07:00
Brian Behlendorf 3a63d17619 Add option -fPIC (Position Independent Code) needed for x86_64.
While the generic atomic implementation is not used by default
for x86_64 or x86 builds, we still need to always build it with
-fPIC if we ever want to use it on these platforms.
2009-07-17 09:36:01 -07:00
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
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 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 a3d336e1ae Drop support for the Solaris user space thread_t API. This was just
too confusing.  The two consumers of this (ztest.c and taskq.c) have
been updated to use the Solaris kernel space kthread_t API which is
provided by zfs_context.h.
2009-07-08 16:15:42 -07:00
Brian Behlendorf 255ef81e33 Fix 'make dist' on powerpc64 by include an atomic.S place holder file.
Add EXTRA_DIST atomic.c for powerpc64 to ensure source is packaged.
2009-07-01 12:49:10 -07:00
Brian Behlendorf 63845164a6 Use $(RM) macro to ensure -f is passed.
Preserve path for installed headers with nobase.
2009-07-01 11:31:47 -07:00
Brian Behlendorf 3f3cebdcda libspl support for conditional SUBDIRs based on target arch 2009-06-08 16:10:12 -07:00
Brian Behlendorf 2486dd20e5 Set LP64 for powerpc64 and LP32 for just powerpc. 2009-05-22 16:27:59 -07:00
Brian Behlendorf b83a638936 Powerpc64 Compatibility
- Add 64-bit user space atomic support obtained from an old version
  of OpenSolaris which supported ppc.  They are not all 100% fully
  implemented by they are a good first step.
- Add powerpc ISA type.
- Strip out unused ISA defines to prevent any confusion.
2009-05-22 15:00:19 -07:00
Brian Behlendorf 085d04563d Add stub header which is missing in new versions of glibc 2009-03-17 15:53:34 -07:00
Brian Behlendorf caba3cb67e Update specific asm-* arch to generic i386.
Depending on your x86 architecture $target_cpu can evaluate to
any of the following (i386|i486|i586|i686).  Since our local asm
uses only i386 instructions sed is used to map all of these to
i386 and sets $target_arch.  Other arch's are not impacted.
2009-03-13 09:41:55 -07:00
Brian Behlendorf 59541a305e Libspl XDR implementation reorganization
Moved xdr_control() function from static inline in xdr.h in to a
new xdr.c file which was added to the libspl build.  Additionally,
I have removed the 'xdr_bytesrec' typedef which shares the same
name as the struct.  This is what Solaris does, but it's just asking
for trouble.  It has been replaced with an 'xdr_bytesrec_t' typedef.
2009-03-12 14:38:52 -07:00
Ricardo M. Correia db42bfe00a Fixed compilation error due to missing xdr_control() implementation in Linux. 2009-03-11 14:53:41 -07:00
Brian Behlendorf 84b63f7730 Remove all #pragma idents from libspl. 2009-03-11 12:13:44 -07:00
Ricardo M. Correia 4a118b6227 Minor bug fix due to MAXOFFSET_T constant being too large on 32-bit systems. 2009-03-11 10:47:20 -07:00
Brian Behlendorf c05c1aa6f9 Build system and packaging (RPM support) (Part 4)
Complete support for dist install srpm and rpm make targets.
2009-03-10 21:57:56 -07:00
Brian Behlendorf 2cd31b723e Add HW_HOSTID_LEN for libspl use 2009-02-18 16:00:50 -08:00
Brian Behlendorf 3764ec0e1e Fixed sizeof() issue and minor cleanup 2009-01-14 12:03:03 -08:00
Brian Behlendorf 3d2e086e21 Remove u8 support, moved to libu8 2009-01-05 11:52:51 -08:00
Brian Behlendorf 89585b82fa Add missing limits 2008-12-22 15:17:57 -08:00
Brian Behlendorf 091c16c185 Add missing tzfile.h 2008-12-22 15:04:47 -08:00
Brian Behlendorf b0704f1597 Add missing header for ztest 2008-12-22 14:57:15 -08:00
Brian Behlendorf 5f0a629790 Add enable_extended_FILE_stdio #define 2008-12-22 10:34:22 -08:00
Brian Behlendorf e8b703cb46 Add sys/time.h 2008-12-22 10:00:01 -08:00
Brian Behlendorf ae21fcad1c Add missing acl files 2008-12-19 16:49:31 -08:00
Brian Behlendorf 50c5923533 Resolve lingering atomic asm build issues. I think 2008-12-19 16:23:26 -08:00
Brian Behlendorf 0581ade42b Add target_cpu 2008-12-19 16:07:26 -08:00
Brian Behlendorf b66eafc892 Add assembler flags 2008-12-19 15:56:04 -08:00
Brian Behlendorf febd743891 First pass at getting userspace 64bit atomic ops working: 2008-12-19 15:11:43 -08:00
Brian Behlendorf 545f76d526 Add P2BOUNDARY macro 2008-12-19 13:56:55 -08:00
Brian Behlendorf 28edfc91c8 Add compress header 2008-12-19 13:14:49 -08:00
Brian Behlendorf b86297e4d3 Add missing umem bits 2008-12-19 12:32:08 -08:00
Brian Behlendorf 55c0063df6 Add 2 more headers where are missing 2008-12-19 12:18:59 -08:00
Brian Behlendorf f72a142146 Strip out sunddi support, this can be done in context 2008-12-19 12:04:07 -08:00
Brian Behlendorf 273cbc844a Fix trailing 'a' char 2008-12-19 11:55:38 -08:00
Brian Behlendorf f9a746f44f Flesh out some more of the sunddi 2008-12-19 11:48:21 -08:00
Brian Behlendorf 615168d176 Stub out additional sunddi interfaces 2008-12-19 11:30:42 -08:00
Brian Behlendorf ce80c4a422 Add utsname.h header 2008-12-19 11:13:07 -08:00
Brian Behlendorf 75b98b396b Add missing VM types 2008-12-19 10:09:35 -08:00
Brian Behlendorf 8578673221 Add DTRACE_PROBE(a) macro 2008-12-19 10:01:38 -08:00
Brian Behlendorf cdcb2af79b Add proper header 2008-12-19 09:30:56 -08:00
Brian Behlendorf a1e023d7a4 Add strtoxx functions 2008-12-19 09:05:50 -08:00