Commit Graph

307 Commits

Author SHA1 Message Date
ahoka 290cdd631e Remove a couple of zero length kmem_frees.
It should fix at least one crash when unloading the dtrace module,
possibly many others.
2010-04-23 11:39:52 +00:00
christos 4c1d35303b don't use NULL for 0 2010-04-03 19:01:15 +00:00
christos a16ec97975 relative .PATH 2010-04-03 18:50:43 +00:00
christos a27b6b66af remove useless double [[ 2010-04-03 18:43:54 +00:00
christos 3642b6f6d7 hack for amd64 2010-04-03 18:43:34 +00:00
christos de23d8acad use relative .PATH, and remove one that is not needed. 2010-04-03 18:35:49 +00:00
christos 8e1b2eaa2f - use CPPFLAGS instead of CFLAGS
- use relative .PATH
2010-04-03 18:34:19 +00:00
christos 4f083821e4 deal with missing CLOCK_REALTIME 2010-03-26 21:33:28 +00:00
tron f3ce7002f4 As this file seems to be a port specific we don't need to check
for "__i386__.
2010-03-18 13:45:54 +00:00
tron 4a21f050e8 Fix the build:
1.) "ifdef-out" unused functions and global variables.
2.) Include "x86/include/cpu_counter.h" for amd64 and i386 to get the
    prototype of "cpu_frequency".
2010-03-18 11:00:03 +00:00
tron 809d65a5b8 "ifdef-out" unused "label" exactly like the code which would use it
to get rid of a build error.
2010-03-18 10:57:58 +00:00
christos 958e171b8e make dtrace compile on amd64. 2010-03-13 22:31:15 +00:00
darran 53cc5b77a6 DTrace: fix a sign problem with instruction size handling. 2010-03-13 01:10:01 +00:00
darran f6bf800773 DTrace: Add the Function Boundary Trace (FBT) provider moduile. This
module  instruments every function in the kernel with entry and exit
probes.  These probes are true zero-effect probes in that they don't
exist in the code until they are enabled.  The probes are enabled by
directly patching the function entry and exit points to make jumps into
the dtrace framework.
This gives us over 29,000 trace points in the kernel.
2010-03-12 21:53:15 +00:00
darran 328338d6bd DTrace: Add support for a simulated solaris_cpu[] data structure per
cpu.  Needed for the FBT provider amongst other features.
2010-03-12 21:37:37 +00:00
darran 5b3b7dba24 DTrace: fix a few build issues for tools and the dtrace provider operation
interface.
2010-03-11 23:28:07 +00:00
darran 2ac926fa16 DTrace: The CTF format is limited to only 1024 elements in an enum,
so rather than error out when there are more than this just truncate the
length.
2010-03-11 23:26:33 +00:00
darran 7eee4c810f DTrace: fix a libctf toolchain build problem. 2010-03-10 23:41:56 +00:00
darran 141a7ffa73 DTrace: add a dependency on the dtrace module. 2010-03-05 02:21:41 +00:00
darran b50656c859 DTrace: fix the curthread and mutex data types. 2010-03-05 01:53:15 +00:00
darran dc1214bcba DTrace: Explicitly check for OS X to decide if echo needs -e. 2010-03-05 01:34:35 +00:00
darran 1a9939bde9 DTrace: another fix for OS X builds, stdint.h location. 2010-03-02 22:00:32 +00:00
darran fe6ba50113 DTrace: Get DTrace to build on OS X platforms. 2010-03-02 21:08:36 +00:00
darran 19c2a5114b DTrace: make sure we get a processorid_t definition (fix zfs module build). 2010-03-02 00:55:46 +00:00
darran 8a2ce716b0 DTrace: fix the dtps_provide_module definition. 2010-03-02 00:43:36 +00:00
darran d4b5b32026 DTrace: fix to only define sdt_provider_t if in the kernel. Not for
user space.
2010-03-01 23:42:41 +00:00
darran 283a6ba02c DTrace: update sdt.c handlers to match latest OpenSolaris vendor import. 2010-03-01 22:38:29 +00:00
darran ffcea0cd00 DTrace: processorid_t is defined elsewhere (pset.h), so make it a sun only
definition here.
2010-03-01 22:20:15 +00:00
haad bbc4932093 Commit last to fixes which make zfs version 22 compiling again. 2010-03-01 21:13:09 +00:00
darran 6a9056a926 DTrace: Add an SDT (Statically Defined Tracing) provider framework, and
implement most of the proc provider.  Adds proc:::create, exec,
exec_success, exec_faillure, signal_send, signal_discard, signal_handle,
lwp_create, lwp_start, lwp_exit.
2010-03-01 21:10:13 +00:00
haad 384eb3acb2 Remove fletcher.c from dist it was moved to common/zfs/zfs_fletcher.c in upstream. 2010-03-01 20:38:19 +00:00
haad 5a7add5b9c Removee compile time generated file from dist it is in osnet/sys/sys now. 2010-03-01 20:10:46 +00:00
haad 3ab7a7aa17 This id compile time generated file add it to sys/sys and do not polute
dist dir with it.
2010-03-01 20:06:37 +00:00
darran ac8906f757 DTrace: fix a few problems introduced by the recent ZFS update (expected
problems from the OpenSolaris merge).
2010-03-01 11:19:39 +00:00
haad 06e8ea2875 Add header files needed for building zfs as kernel_module. 2010-03-01 00:41:35 +00:00
haad 75eba26b3c Add forgotten misc.h header file, which I forgot to commit. 2010-02-28 22:50:48 +00:00
haad 07be11bb73 Addmissing symbols to libumem. 2010-02-28 22:45:45 +00:00
haad 7077d82ba4 Add missing zfs_fletcher.c to libzfs. 2010-02-28 22:40:09 +00:00
haad 29137ce9bb Add newly added stubs.c file to libzfs build. 2010-02-28 17:40:35 +00:00
haad e3855e55fa Add fixes for missing symbols from libzfs and libzpool. 2010-02-28 17:36:51 +00:00
haad 3491b19f5b Add NetBSD/Solaris compatibility SHA header. 2010-02-28 17:22:01 +00:00
haad 68ffa27a55 Add missing -I definition. 2010-02-28 15:24:04 +00:00
haad 90f8c9d149 Add missing header file, I will tag it to osnet-20100224 later. 2010-02-28 15:17:44 +00:00
haad 32fa36ddd0 Add another set of headers files. 2010-02-28 15:13:27 +00:00
haad 826319b9a5 Add missing header file I have missed it in first round of glue commits. More
to come.
2010-02-28 15:10:12 +00:00
haad 9531208f86 Add our local version of sysevent.h file without door.h useage. 2010-02-28 15:07:14 +00:00
haad a3bfe6d964 Add NetBSD build glue to build new zfs version 22 sources. 2010-02-28 14:45:47 +00:00
darran ba7b8985fe DTrace: enable access to kernel space for DTrace scripts. 2010-02-28 07:01:43 +00:00
haad a252d550c0 Merge NetBSD local changes to new zfs version 22 sources. 2010-02-27 23:43:52 +00:00
haad f59c7639cd Import new Opensolaris sources for zfs/dtrace.
Opensolaris mercurial changeset: 11751:58c0c8f4305f
2010-02-27 22:29:20 +00:00
darran 216ff964d9 DTrace: okay *really* fix the deadman exit handling. No need for that
over-complicated handshake. Fixes a lockdebug mutex held issue.
2010-02-25 16:49:19 +00:00
darran 4d76bb3302 DTrace: fix a problem with the code waiting for the deadman thread to exit
- now it does actually wait for it to exit.  Thanks to Frank Kardel for
spotting this.
2010-02-25 11:12:02 +00:00
darran bb7c1e9274 DTrace: fix CTF tools for non-toolchain build. 2010-02-25 00:18:44 +00:00
darran 84501f8fef DTrace: have DTrace build with out requiring MKZFS=yes. 2010-02-25 00:14:10 +00:00
darran 89300bd9df DTrace: Get the CTF tools building as part of the toolchain. 2010-02-24 21:53:26 +00:00
darran 9f15b3a450 Fix a bug in the dtrace_state_deadman() thread; return should have been
a continue (thanks Frank!).
2010-02-24 21:08:54 +00:00
tron 3d553f9ca7 Disable stack protection warnings for more sources which use dynamically
sized stack buffers.
2010-02-24 15:40:54 +00:00
tron ab396280fe Disable stack protection warnings for sources which use dynamically
sized stack buffers.
2010-02-24 12:51:05 +00:00
tron 00ff80736e Include "bsd.own.mk" before checking "MKDTRACE" to allow setting it
in "/etc/mk.conf".
2010-02-24 12:18:37 +00:00
tron 235f29a8f3 Disable stack protection warnings for "zdb_il.c" which uses a dynamically
sized array on the stack.
2010-02-24 11:56:35 +00:00
haad a7a3d3b216 Revert lib_nvpair hack now when it is not needed when njoly@ commited his fix to
bsd.lib.mk.
2010-02-22 20:05:03 +00:00
tron c76e590d3d Disable stack protection warnings for "dtrace.c" which uses alloca(3). 2010-02-22 12:21:27 +00:00
darran 7b822b43cb DTrace: fix a problem with library references for libctf and libdtrace. 2010-02-21 11:00:01 +00:00
darran 4e42fd7663 DTrace: remove extra libshare.h - shouldn't have added it and it breaks
the libzfs build.
2010-02-21 10:21:06 +00:00
darran 17b93c1002 DTrace: remove assert.h - shouldn't have been checked in (breaks libdtrace
build).
2010-02-21 09:52:08 +00:00
darran f2505ce1e5 DTrace: remove file.h - it shouldn't have been added and breaks zfs. 2010-02-21 08:28:40 +00:00
darran 01c9547e57 Apply NetBSD changes to DTrace.
Ok with core@.
2010-02-21 01:46:32 +00:00
darran bb8023b5c1 Add the FreeBSD 8-RC1 changes for DTrace.
Ok with core@.
2010-02-21 00:49:51 +00:00
darran a864dc36a1 Import the rest of Opensolaris 20081117 needed for DTrace. No conflicts
with ZFS.
2010-02-20 04:33:34 +00:00
christos 0f0ea55dc4 Fix build issue with our make system building libnvpair.so from libnvpair.c
and libnvpair.so from *.so by renaming libnvpair.c to lib_nvpair.c
2010-02-17 17:36:32 +00:00
tron 9ee09dfd6f Replace VATTR_NULL() with vattr_null(). The ZFS module can be loaded
again now.
2010-01-11 12:10:18 +00:00
haad f1a671f674 Fix problem in ZFS ZIL layer where unclean shutdown of filesystem can change
replayed file permissions to 777. Patch from FreeBSD. Original commit message:

Be careful which vattr fields are set during setattr replay.
Without this fix strange things can appear after unclean shutdown like
files with mode set to 07777.
2010-01-10 01:35:39 +00:00
ober 9067e90d8c Fix comment to meet style guidelines. 2010-01-08 03:41:58 +00:00
ober c56ace41b0 Make sure the comment is specific to being a hack and that it needs to be pulled before production release and the real issues with UVM and ZFS need to be resolved. 2010-01-03 11:33:13 +00:00
ober 9bfbda61ad Set KM_PUSHPAGE to KM_SLEEP to prevent the arc_buf_alloc panics in ZFS.
ok haad@
2010-01-03 10:50:06 +00:00
mbalmer a72f71643d Fix typo in comments, no code change. 2009-12-23 09:17:40 +00:00
tron 0afc8953b4 Make this build. 2009-10-29 10:26:17 +00:00
haad afa6bc484e Add workaround about zfs vnode reclaiming deadlock by checking if we don't
ehld ZFS_MUTEX_OBJ already. If we can lock OBJ_MUTEX deffer execution of
zfs_zinactive to taskq. Code was inspired by FreeBSD zfs_freebsd_reclaim.

XXX. This needs to be fixed after finding final solution for vnode lifecycle.
2009-10-28 23:44:51 +00:00
joerg 168d953fa6 zpool(8) uses tbl. 2009-10-21 22:32:20 +00:00
joerg e59e75c5a9 zfs(8) uses tbl. 2009-10-21 22:31:19 +00:00
joerg c0285a79ce zdb(8) uses tbl 2009-10-21 22:29:54 +00:00
haad 0d2ae1297e Finaly fix ptob problem. ptob was defined for amd64 and not for i386, and
NetBSD version of ptob is not compatible with Solaris one.
2009-10-12 10:05:29 +00:00
haad cfd1dcc2c6 Define ptob only if it wasn't defined already in NetBSD headers. 2009-10-11 22:17:57 +00:00
haad 4d85867fc4 Cast physmem to (uint64_t) so it works on a amd64 system with more than 4Gb ram.
undef btop if it was already included from other NetBSD header file.
2009-10-11 10:58:06 +00:00
haad 44fda7f84b undef ptob if it was already defined/included in some NetBSD header file. 2009-10-11 10:56:13 +00:00
haad 38619bb29f Properly return error when namei_kernel_simple fails. 2009-10-11 10:54:52 +00:00
haad 275f2eee59 Use ptob function from zfs and not NetBSD one. 2009-10-07 08:47:12 +00:00
haad d8802513da Enable build of 64 bit atomic ops in userspace for i386. This is needed for
all 32 bit archs which doesn't have a 64 atomic ops. This change enable MKZFS
build for a i386.
2009-10-06 16:28:10 +00:00
haad 6a4395f648 Replace another openat call with open + changed path.
XXX. This commit should be reverted after proper implementation of *at syscalls.
2009-10-06 12:03:47 +00:00
haad db47593719 iMark done tasks as done and move *at implementation task to post-import phase. 2009-10-06 08:47:59 +00:00
haad ecabea58c7 Do not use sysent solaris framework there is no such thing in a NetBSD. 2009-10-05 23:31:16 +00:00
haad 5f7d5874f0 Add cddl directory to external build framework. build things from osnet dir
only when MKZFS variable is set.
2009-10-05 22:44:26 +00:00
haad ded7269130 Disable *at functions for now. These functions should be implemented
because they are part of POSIX standard but it seems to be a long time process.

XXX. This commit should be reverted after adding support for openat and fstatat.
2009-10-05 16:25:27 +00:00
haad cbe8652598 Remove bogus -L entry. 2009-09-16 09:17:29 +00:00
haad a6ae7c3f3a Revert my last wrong change this will need more work. 2009-09-15 02:04:12 +00:00
haad 7166baaa71 On i386 use 32bit version of atomic_add_op because 64 doesn't work on
i486 userland.
2009-09-15 01:48:41 +00:00
haad 732a349764 Register callbacks for reclaiming kvm kernel space to arc. Unregister both
kvm address space and memory callbacks from kernel during arc_fini call.
2009-08-12 21:52:41 +00:00
haad 15e894922a Add missing header file. 2009-08-10 22:47:09 +00:00
haad 494666162f Rename getline to zgetline to avoid clashes with NetBSD getline.
Problem found by zafer@.
2009-08-10 22:44:41 +00:00
haad 2bd9595b28 Fix number of arguments passed to do_sys_mkdir. 2009-08-10 22:41:51 +00:00
haad 4c1e749f2d Add some NetBSD fixes which I have forgot to commit during first round.
With these patches I can build solaris and zfs module again.
2009-08-10 22:38:02 +00:00
haad 2a8f255ae1 Enable zfs module only for machine with at least 512Mb ram. 2009-08-07 22:47:19 +00:00
haad 82fbb9f0e8 Fix bogus comment, and remove superfluous parenthesis. 2009-08-07 22:46:04 +00:00
haad fc8ec0b896 Add NetBSD Solaris compat code and reachover Makefiles. Most of code written
by Andrew Doran some of it by me.

This is still work in progress code. There are known issues. Zfs can panic
your system still. I will commit integration bits and needed kernel bits
later when we fix most obvious bugs. This code need some support from our
kernel which I will commit in a separate patch and therefore itnot work yet.

Issues:

1) Support for openat/fstatat syscalls.
2) getnewvnode locking against myself panic when reclaiming vnodes
3) Replace solaris taskq with our workqueue which doesn't need to alloc
   anything during work.
4) Investigate problems with NO_WAIT allocations.

Oked by core@ and ad@.
2009-08-07 20:57:55 +00:00
haad 6a125a398c Add NetBSD specific changes to OpenSolaris code. These changes were made
by Andrew Doran and me. Thank you Andrew for your great help.

Oked by core@ and ad@.
2009-08-07 20:16:44 +00:00
haad f26cdf114a Remove accidentally commited tar.bz2 file. 2009-08-07 18:48:48 +00:00
haad c1cb2cd89c Import Opensolaris source code used with zfs port. Zfs code si from date
200811.
2009-08-07 18:32:11 +00:00