Commit Graph

3643 Commits

Author SHA1 Message Date
Brian Behlendorf bbdcc9ac52 Merge commit 'refs/top-bases/gcc-unused' into gcc-unused 2010-03-09 14:19:17 -08:00
Brian Behlendorf 8310167805 Merge branch 'gcc-uninit' into refs/top-bases/gcc-branch 2010-03-09 14:19:16 -08:00
Brian Behlendorf 8e2b8a52f7 Merge commit 'refs/top-bases/gcc-uninit' into gcc-uninit 2010-03-09 14:19:15 -08:00
Brian Behlendorf 9fc9e880ab Merge branch 'gcc-no-parenthesis' into refs/top-bases/gcc-branch 2010-03-09 14:19:13 -08:00
Brian Behlendorf cc3e0e6b01 Merge commit 'refs/top-bases/gcc-no-parenthesis' into gcc-no-parenthesis 2010-03-09 14:19:12 -08:00
Brian Behlendorf ed15654feb Merge branch 'gcc-missing-case' into refs/top-bases/gcc-branch 2010-03-09 14:19:10 -08:00
Brian Behlendorf f3025c3875 Merge commit 'refs/top-bases/gcc-missing-case' into gcc-missing-case 2010-03-09 14:19:09 -08:00
Brian Behlendorf 45b2e45354 Merge branch 'gcc-invalid-prototype' into refs/top-bases/gcc-branch 2010-03-09 14:19:07 -08:00
Brian Behlendorf 01dae884bc Merge commit 'refs/top-bases/gcc-invalid-prototype' into gcc-invalid-prototype 2010-03-09 14:19:06 -08:00
Brian Behlendorf 9d8767dfb2 Merge branch 'gcc-init-pragmas' into refs/top-bases/gcc-branch 2010-03-09 14:19:04 -08:00
Brian Behlendorf 4d306e2583 Merge commit 'refs/top-bases/gcc-init-pragmas' into gcc-init-pragmas 2010-03-09 14:19:03 -08:00
Brian Behlendorf c09ab40097 Merge branch 'gcc-debug' into refs/top-bases/gcc-branch 2010-03-09 14:19:02 -08:00
Brian Behlendorf bd81c6a5d0 Merge commit 'refs/top-bases/gcc-debug' into gcc-debug 2010-03-09 14:19:00 -08:00
Brian Behlendorf d01019d8a3 Merge branch 'gcc-cast' into refs/top-bases/gcc-branch 2010-03-09 14:18:58 -08:00
Brian Behlendorf ddf8afb06b Merge commit 'refs/top-bases/gcc-cast' into gcc-cast 2010-03-09 14:18:57 -08:00
Brian Behlendorf 49ea943914 Merge branch 'gcc-c90' into refs/top-bases/gcc-branch 2010-03-09 14:18:56 -08:00
Brian Behlendorf c60984f102 Merge commit 'refs/top-bases/gcc-c90' into gcc-c90 2010-03-09 14:18:54 -08:00
Brian Behlendorf 774f7c02b1 Ignore unsigned module build products
Along with the addition of signed kernel modules in newer kernel
we have a few new build products we need to ignore.   LKLM has the
whole thread for those interested: http://lkml.org/lkml/2007/2/14/164
2010-03-09 14:14:09 -08:00
Brian Behlendorf 19eef8ad39 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2010-03-09 13:24:30 -08:00
Brian Behlendorf 9fa502c50b Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2010-03-09 13:24:29 -08:00
Brian Behlendorf e218fd13e8 Merge commit 'refs/top-bases/feature-branch' into feature-branch 2010-03-09 13:24:28 -08:00
Brian Behlendorf ef359aee66 Merge commit 'refs/top-bases/feature-pthreads' into feature-pthreads 2010-03-09 13:24:27 -08:00
Brian Behlendorf f2ab1fea36 Merge branch 'feature-pthreads' into refs/top-bases/feature-branch 2010-03-09 13:24:27 -08:00
Ricardo M. Correia 2b85024275 Use CPU percentages for number of commit cb threads.
This doesn't change number of threads in the kernel, but it reduces number of
threads in ztest (important due to 32-bit address limitations).
2010-03-09 13:21:20 -08:00
Brian Behlendorf 8f63d438cd Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2010-03-09 12:30:18 -08:00
Brian Behlendorf 48e74ed68b Merge branch 'feature-branch' into refs/top-bases/zfs-branch
Conflicts:

	cmd/ztest/ztest.c
2010-03-09 12:30:03 -08:00
Brian Behlendorf 9a3d5378c6 Clean up emulation of kernel threads in userspace.
Updated to use pthread thread specific data rather than keeping
a global list.  This also fixes at least one easily reproducible
crash in ztest
2010-03-09 12:25:28 -08:00
Brian Behlendorf 3a9850385c Include all headers regardless of depth
The previous hack for this was to move headers 3 levels deep in to
the top level include dir and headers 4 levels deep in to sys.
Obviously this was fairly limiting and missed two important headers.

  ./zfs/include/sys/fm/fs/zfs.h
  ./zfs/include/sys/fs/zfs.h

This patch updates the code to be smarter and installs all the headers
to the correct location regardless of depth.  Each header will have its
leading 3 path args stripped (i.e. ./zfs/include/) and replaced with
the correct install destination.  All path information past the first
three levels will be preserved.
2010-03-09 10:20:34 -08:00
Brian J. Murrell 835a21a54a Fix definitions for the unknown distro/installation
If the distro/installation really is unsupported (i.e. unknown) we should
not make it look like a known distribution (i.e. RHEL) complete with
dependencies on other RPMs and trying to find kenrel source in the RH
standard location.
2010-03-08 16:20:20 -08:00
Brian J. Murrell 3f30f74414 Check for spl in ../spl if not found in install path
If the spl source could not be found in /usr/src/spl-*, also try to
find it in ../spl.  This makes finding it in a development sandbox
more natural.
2010-03-08 16:04:25 -08:00
Brian J. Murrell 0ec3b7e122 When no kernel source has been pointed to, first attempt to use
/lib/modules/$(uname -r)/source.  This will likely fail when building
under a mock (http://fedoraproject.org/wiki/Projects/Mock) chroot
environment since `uname -r` will report the running kernel which
likely is not the kernel in your chroot.  To cleanly handle this
we fallback to using the first kernel in your chroot.

The kernel-devel package which contains all the kernel headers and
a few build products such as Module.symver{s} is all the is required.
Full source is not needed.
2010-03-08 14:53:13 -08:00
Brian Behlendorf 3d7cfde000 Remove Module.markers and Module.symver{s} in clean target
Split 'modules' and 'clean' Makefile targets to allow us to
cleanly remove the Module.* build products with a 'make clean'.
2010-03-08 13:45:51 -08:00
Brian Behlendorf fd7578215e Configure checks for kernel build options incompatible with the license
Twice now I've been bitten by building agaist a kernel which is
configured such that it is incompatible with the CDDL license.  These
build failures don't occur until the linking phase at which point they
simply callout the offending symbol.  No location information can be
provided at this point so it often can be confusing what the problem is
particularly when building against a new kernel for the first time.

To help address this I've added a configure check which can be extended
over time to detect known kernel config options which if set will break
the ZFS build.  Currently I have just added CONFIG_DEBUG_LOCK_ALLOC which
makes mutex's GPL-only and is on by default in the RHEL6 alpha builds.
I know for a fact there are other similiar options which can be added
as they are encountered.
2010-03-08 10:27:42 -08:00
Brian Behlendorf 7df02c0f57 Split the udev rule from a specific configuration
While I completely agree the udev is the lesser of many possibles
evils when solving the device issue... it is still evil.  After
attempting to craft a single rule which will work for various
versions of udev in various distros.  I've come to the conclusion
the only maintainable way to solve this issue is to split the rule
from any particular configuration.

This commit provides a generic 60-zpool.rules file which use a
small helper util 'zpool_id' to parse a configuration file by
default located in /etc/zfs/zdev.conf.  The helper script maps
a by-path udev name to a more friendly name of <channel><rank>
for large configurations.

As part of this change all of the support scripts why rely on
this udev naming convention have been updated as needed.  Example
zdev.conf files have also been added for 3 different systems by
you will always need to add one for your exact hardware.

Finally, included in these changes are the proper tweaks to the
build system to ensure everything still get's packaged properly
in the rpms and can run in or out of tree.
2010-03-01 16:51:21 -08:00
Brian Behlendorf 303d9f010d Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2010-01-08 11:39:31 -08:00
Brian Behlendorf 710e779a08 Merge commit 'refs/top-bases/feature-pthreads' into feature-pthreads 2010-01-08 11:39:30 -08:00
Brian Behlendorf efd53d2969 Merge branch 'feature-pthreads' into refs/top-bases/feature-branch 2010-01-08 11:39:30 -08:00
Brian Behlendorf 75bc637b6d Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2010-01-08 11:39:30 -08:00
Brian Behlendorf b991553702 Merge commit 'refs/top-bases/feature-branch' into feature-branch 2010-01-08 11:39:30 -08:00
Brian Behlendorf a240c39095 Merge commit 'refs/top-bases/feature-commit-cb' into feature-commit-cb 2010-01-08 11:39:29 -08:00
Brian Behlendorf ee3aa7773b Merge commit 'refs/top-bases/feature-zap-cursor-to-key' into feature-zap-cursor-to-key 2010-01-08 11:39:28 -08:00
Brian Behlendorf eaf2e3231c Merge branch 'feature-zap-cursor-to-key' into refs/top-bases/feature-branch 2010-01-08 11:39:28 -08:00
Brian Behlendorf 27ae099e65 Merge commit 'refs/top-bases/fix-branch' into fix-branch 2010-01-08 11:39:27 -08:00
Brian Behlendorf d285c096c9 Merge branch 'fix-acl' into refs/top-bases/fix-branch 2010-01-08 11:39:27 -08:00
Brian Behlendorf cad00c2fc1 Merge branch 'fix-branch' into refs/top-bases/zfs-branch 2010-01-08 11:39:27 -08:00
Brian Behlendorf da35bd5b60 Merge commit 'refs/top-bases/fix-acl' into fix-acl 2010-01-08 11:39:26 -08:00
Brian Behlendorf 050c1617d8 Merge commit 'refs/top-bases/fix-deadcode' into fix-deadcode 2010-01-08 11:39:26 -08:00
Brian Behlendorf 3d5d35b616 Merge branch 'fix-deadcode' into refs/top-bases/fix-branch 2010-01-08 11:39:26 -08:00
Brian Behlendorf 34c0ae76d9 Merge commit 'refs/top-bases/fix-strncat' into fix-strncat 2010-01-08 11:39:25 -08:00
Brian Behlendorf fe9ad9171a Merge branch 'fix-strncat' into refs/top-bases/fix-branch 2010-01-08 11:39:25 -08:00