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