]> git.proxmox.com Git - mirror_spl-debian.git/log
mirror_spl-debian.git
12 years agoPPA 0.6.0.76-0ubuntu1 release.
Darik Horn [Fri, 7 Sep 2012 01:05:38 +0000 (20:05 -0500)]
PPA 0.6.0.76-0ubuntu1 release.

12 years agoPPA 0.6.0.75-0ubuntu1 release.
Darik Horn [Wed, 5 Sep 2012 14:38:39 +0000 (09:38 -0500)]
PPA 0.6.0.75-0ubuntu1 release.

12 years agoMerge branch 'upstream'
Darik Horn [Wed, 5 Sep 2012 14:37:29 +0000 (09:37 -0500)]
Merge branch 'upstream'

12 years agoAdd DKIOCTRIM for TRIM support.
Etienne Dechamps [Sat, 1 Sep 2012 13:02:25 +0000 (15:02 +0200)]
Add DKIOCTRIM for TRIM support.

See dechamps/zfs@cc6cd40ad71e1e611591929ad08184516357eaf5 for details.

This harmless addition was merged to simplify testing the ZFS TRIM
support patches.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #167

12 years agoPPA 0.6.0.74-0ubuntu1 release.
Darik Horn [Sun, 2 Sep 2012 19:34:35 +0000 (14:34 -0500)]
PPA 0.6.0.74-0ubuntu1 release.

12 years agoPPA 0.6.0.73-0ubuntu1 release.
Darik Horn [Fri, 31 Aug 2012 19:38:18 +0000 (14:38 -0500)]
PPA 0.6.0.73-0ubuntu1 release.

12 years agoMerge branch 'upstream'
Darik Horn [Fri, 31 Aug 2012 19:35:57 +0000 (14:35 -0500)]
Merge branch 'upstream'

12 years agoSuppress task_hash_table_init() large allocation warning
Brian Behlendorf [Fri, 31 Aug 2012 03:56:22 +0000 (20:56 -0700)]
Suppress task_hash_table_init() large allocation warning

When various kernel debuging options are enabled this allocation
may be larger than usual as shown by the following warning.  It
is in no way harmful so we suppress the warning.

  SPL: large kmem_alloc(40960, 0x80d0) at
  tsd_hash_table_init:358 (76495/76495)

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #93

12 years agoEnhance SPLAT kmem:slab_overcommit test
Brian Behlendorf [Sun, 26 Aug 2012 20:34:06 +0000 (13:34 -0700)]
Enhance SPLAT kmem:slab_overcommit test

After the emergency slab objects were merged I started observing
timeout failures in the kmem:slab_overcommit test.  These were
due to the ineffecient way the slab_overcommit reclaim function
was implemented.  And due to the additional cost of potentially
allocating ten of thousands of emergency objects and tracking
them on a single list.

This patch addresses the first concern by enhansing the test
case to trace all of the allocations objects as a linked list.
This allows for a cleaner version of the reclaim function to
simply release SPLAT_KMEM_OBJ_RECLAIM objects.

Since this touches some common code all the tests which share
these data structions were also updated.  After making these
changes slab_overcommit is reliably passing.  However, there
is certainly additional cleanup which could be done here.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
12 years agoSwitch KM_SLEEP to KM_PUSHPAGE
Brian Behlendorf [Thu, 23 Aug 2012 22:36:28 +0000 (15:36 -0700)]
Switch KM_SLEEP to KM_PUSHPAGE

Under certain circumstances the following functions may be called
in a context where KM_SLEEP is unsafe and can result in a deadlocked
system.  To avoid this problem the unconditional KM_SLEEPs are
converted to KM_PUSHPAGEs.  This will prevent them from attempting
to initiate any I/O during direct reclaim.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
12 years agoMutex ASSERT on self deadlock
Brian Behlendorf [Sun, 19 Aug 2012 19:10:19 +0000 (12:10 -0700)]
Mutex ASSERT on self deadlock

Generate an assertion if we're going to deadlock the system by
attempting to acquire a mutex the process is already holding.

There are currently no known instances of this under normal
operation, but it _might_ be possible when using a ZVOL as a
swap device.  I want to ensure we catch this immediately if it
were to occur.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
12 years agoAdd PF_NOFS debugging flag
Brian Behlendorf [Sat, 18 Aug 2012 19:42:28 +0000 (12:42 -0700)]
Add PF_NOFS debugging flag

PF_NOFS is a per-process debug flag which is set in current->flags to
detect when a process is performing an unsafe allocation.  All tasks
with PF_NOFS set must strictly use KM_PUSHPAGE for allocations because
if they enter direct reclaim and initiate I/O they may deadlock.

When debugging is disabled, any incorrect usage will be detected and
a call stack with a warning will be printed to the console.  The flags
will then be automatically corrected to allow for safe execution.  If
debugging is enabled this will be treated as a fatal condition.

To avoid any risk of conflicting with the existing PF_ flags.  The
PF_NOFS bit shadows the rarely used PF_MUTEX_TESTER bit.  Only when
CONFIG_RT_MUTEX_TESTER is not set, and we know this bit is unused,
will the PF_NOFS bit be valid.  Happily, most existing distributions
ship a kernel with CONFIG_RT_MUTEX_TESTER disabled.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
12 years agoRevert "Disable vmalloc() direct reclaim"
Brian Behlendorf [Sat, 18 Aug 2012 18:06:21 +0000 (11:06 -0700)]
Revert "Disable vmalloc() direct reclaim"

This reverts commit 2092cf68d89a51eb0d6193aeadabb579dfc4b4a0.  The
use of the PF_MEMALLOC flag was always a hack to work around memory
reclaim deadlocks.  Those issues are believed to be resolved so this
workaround can be safely reverted.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
12 years agoRevert "Fix NULL deref in balance_pgdat()"
Brian Behlendorf [Sat, 18 Aug 2012 18:05:53 +0000 (11:05 -0700)]
Revert "Fix NULL deref in balance_pgdat()"

This reverts commit b8b6e4c453929596b630fa1cca1ee26a532a2ab4.  The
use of the PF_MEMALLOC flag was always a hack to work around memory
reclaim deadlocks.  Those issues are believed to be resolved so this
workaround can be safely reverted.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
12 years agoRevert "Detect kernels that honor gfp flags passed to vmalloc()"
Brian Behlendorf [Sat, 18 Aug 2012 18:01:22 +0000 (11:01 -0700)]
Revert "Detect kernels that honor gfp flags passed to vmalloc()"

This reverts commit 36811b4430aaea8c8b91bbe7d812a26799865499.
Which is no longer required because there is now SPL code in
place to safely handle the deadlocks the kernel patch was designed
to address.  Therefore we can unconditionally use vmalloc() and
drop all the PF_MEMALLOC code.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
12 years agoRevert "Add TASKQ_NORECLAIM flag"
Brian Behlendorf [Sat, 18 Aug 2012 17:56:17 +0000 (10:56 -0700)]
Revert "Add TASKQ_NORECLAIM flag"

This reverts commit 372c2572336468cbf60272aa7e735b7ca0c3807c.  The
use of the PF_MEMALLOC flag was always a hack to work around memory
reclaim deadlocks.  Those issues are believed to be resolved so this
workaround can be safely reverted.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
12 years agoEmergency slab objects
Brian Behlendorf [Tue, 7 Aug 2012 23:59:50 +0000 (16:59 -0700)]
Emergency slab objects

This patch is designed to resolve a deadlock which can occur with
__vmalloc() based slabs.  The issue is that the Linux kernel does
not honor the flags passed to __vmalloc().  This makes it unsafe
to use in a writeback context.  Unfortunately, this is a use case
ZFS depends on for correct operation.

Fixing this issue in the upstream kernel was pursued and patches
are available which resolve the issue.

  https://bugs.gentoo.org/show_bug.cgi?id=416685

However, these changes were rejected because upstream felt that
using __vmalloc() in the context of writeback should never be done.
Their solution was for us to rewrite parts of ZFS to accomidate
the Linux VM.

While that is probably the right long term solution, and it is
something we want to pursue, it is not a trivial task and will
likely destabilize the existing code.  This work has been planned
for the 0.7.0 release but in the meanwhile we want to improve the
SPL slab implementation to accomidate this expected ZFS usage.

This is accomplished by performing the __vmalloc() asynchronously
in the context of a work queue.  This doesn't prevent the posibility
of the worker thread from deadlocking.  However, the caller can now
safely block on a wait queue for the slab allocation to complete.

Normally this will occur in a reasonable amount of time and the
caller will be woken up when the new slab is available,.  The objects
will then get cached in the per-cpu magazines and everything will
proceed as usual.

However, if the __vmalloc() deadlocks for the reasons described
above, or is just very slow, then the callers on the wait queues
will timeout out.  When this rare situation occurs they will attempt
to kmalloc() a single minimally sized object using the GFP_NOIO flags.
This allocation will not deadlock because kmalloc() will honor the
passed flags and the caller will be able to make forward progress.

As long as forward progress can be maintained then even if the
worker thread is deadlocked the critical thread will make progress.
This will eventually allow the deadlocked worker thread to complete
and normal operation will resume.

These emergency allocations will likely be slow since they require
contiguous pages.  However, their use should be rare so the impact
is expected to be minimal.  If that turns out not to be the case in
practice further optimizations are possible.

One additional concern is if these emergency objects are long lived.
Right now they are simply tracked on a list which must be walked when
an object is freed.  Is they accumulate on a system and the list
grows freeing objects will become more expensive.  This could be
handled relatively easily by using a hash instead of a list, but that
optimization (if needed) is left for a follow up patch.

Additionally, these emeregency objects could be repacked in to existing
slabs as objects are freed if the kmem_cache_set_move() functionality
was implemented.  See issue https://github.com/zfsonlinux/spl/issues/26
for full details.  This work would also help reduce ZFS's memory
fragmentation problems.

The /proc/spl/kmem/slab file has had two new columns added at the
end.  The 'emerg' column reports the current number of these emergency
objects in use for the cache, and the following 'max' column shows
the historical worst case.  These value should give us a good idea
of how often these objects are needed.  Based on these values under
real use cases we can tune the default behavior.

Lastly, as a side benefit using a single work queue for the slab
allocations should reduce cpu contention on the global virtual address
space lock.   This should manifest itself as reduced cpu usage for
the system.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
12 years agoRemove SPL_LINUX_CONFIG autoconf macro
Prakash Surya [Wed, 22 Aug 2012 20:16:02 +0000 (13:16 -0700)]
Remove SPL_LINUX_CONFIG autoconf macro

Since removing the check for CONFIG_PREEMPT, there are no consumers of
the SPL_LINUX_CONFIG macro. As such, there is no reason to keep it
around.

Signed-off-by: Prakash Surya <surya1@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #164

12 years agoRevert "Make CONFIG_PREEMPT Fatal"
Prakash Surya [Wed, 22 Aug 2012 20:07:05 +0000 (13:07 -0700)]
Revert "Make CONFIG_PREEMPT Fatal"

This reverts commit 7731d46b69bd893d515c55e87ffa8a9bd2ddfb38.

Signed-off-by: Prakash Surya <surya1@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
12 years agoRemove autotools products
Brian Behlendorf [Mon, 27 Aug 2012 00:38:40 +0000 (17:38 -0700)]
Remove autotools products

Remove all of the generated autotools products from the repository
and update the .gitignore files accordingly.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue zfsonlinux/zfs#718

12 years agoPPA 0.6.0.72-0ubuntu1 release.
Darik Horn [Sun, 26 Aug 2012 21:57:20 +0000 (16:57 -0500)]
PPA 0.6.0.72-0ubuntu1 release.

12 years agoMerge branch 'upstream'
Darik Horn [Sun, 26 Aug 2012 21:56:00 +0000 (16:56 -0500)]
Merge branch 'upstream'

12 years agoAdd kpreempt_[dis|en]able macros in <sys/disp.h>
Prakash Surya [Fri, 24 Aug 2012 17:42:12 +0000 (10:42 -0700)]
Add kpreempt_[dis|en]able macros in <sys/disp.h>

To support preempt enabled kernels in ZFS on Linux, there are a couple
places where the ZFS code needs to disable interrupts. This change adds
the Solaris preempt functions and maps them to the equivalent ZFS
functions, allowing the ZFS to make use of them.

Signed-off-by: Prakash Surya <surya1@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #98

12 years agoAvoid calling smp_processor_id in spl_magazine_age
Prakash Surya [Thu, 23 Aug 2012 21:00:58 +0000 (14:00 -0700)]
Avoid calling smp_processor_id in spl_magazine_age

The spl_magazine_age function had the implied assumption that it will
remain on its current cpu through its execution. In order to support
preempt enabled kernels, this assumption had to be removed.

The spl_kmem_magazine structure now holds the cpu id of the cpu it is
local to. This allows spl_magazine_age to use this field when scheduling
work to be done by the magazine's local cpu.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #98

12 years agoRemove Makefile from non-toplevel .gitignore files
Richard Yao [Thu, 16 Aug 2012 18:55:42 +0000 (14:55 -0400)]
Remove Makefile from non-toplevel .gitignore files

When building SPL support into the kernel, ./copy-builtin will copy
non-toplevel .gitignore files. These files list /Makefile, which causes
git-archive to omit ./module/{spl,splat}/Makefile. The absence of these
files result in build failures when SPL is selected. ZFS is unaffected
because it puts Makefile in the toplevel .gitignore, which is not
copied. We fix SPL by emulating that behavior.

Reported-by: Fabio Erculiani <lxnay@gentoo.org>
Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #152

12 years agoWrap trace_set_debug_header in trace_[get|put]_tcd
Prakash Surya [Wed, 22 Aug 2012 19:30:59 +0000 (12:30 -0700)]
Wrap trace_set_debug_header in trace_[get|put]_tcd

To properly support CONFIG_PREEMPT enabled kernels, we must refrain from
using a CPU index when preemption is enabled. As a result, this change
moves the trace_set_debug_header call (which calls smp_processor_id)
within trace_get_tcd and trace_put_tcd (which disable and enable
preemption respectively).

Signed-off-by: Prakash Surya <surya1@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #160

12 years agoAdd copy-builtin to EXTRA_DIST
Brian Behlendorf [Thu, 23 Aug 2012 16:46:38 +0000 (09:46 -0700)]
Add copy-builtin to EXTRA_DIST

The copy-builtin script was accidentally not being included in
the tarballs.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #159

12 years agoPPA 0.6.0.71-0ubuntu1 release.
Darik Horn [Wed, 15 Aug 2012 02:34:21 +0000 (21:34 -0500)]
PPA 0.6.0.71-0ubuntu1 release.

12 years agoRefresh debian/patches after upstream merge.
Darik Horn [Wed, 15 Aug 2012 02:31:46 +0000 (21:31 -0500)]
Refresh debian/patches after upstream merge.

12 years agoMerge branch 'upstream'
Darik Horn [Tue, 14 Aug 2012 23:55:05 +0000 (18:55 -0500)]
Merge branch 'upstream'

12 years agoSPL 0.6.0-rc10
Brian Behlendorf [Mon, 13 Aug 2012 17:19:22 +0000 (10:19 -0700)]
SPL 0.6.0-rc10

12 years agoCleanly remove spl-modules-devel headers
Brian Behlendorf [Mon, 13 Aug 2012 23:23:45 +0000 (16:23 -0700)]
Cleanly remove spl-modules-devel headers

Add the /usr/src/spl-<version>-<release>/<kernel> directory to
the spl-modules-devel package.  This ensures that this directory
will be removed when the package is removed.

We do not include the higher level /usr/src/spl-<version>-<release>
directory since there may be builds for multiple kernels.  Instead,
a %postun rmdir is added which attempts to remove this directory.
It will only succeed when the last spl-modules-devel-* package
for this specific release is removed.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
12 years agoPPA 0.6.0.70-0ubuntu1 release.
Darik Horn [Sat, 11 Aug 2012 00:42:17 +0000 (19:42 -0500)]
PPA 0.6.0.70-0ubuntu1 release.

12 years agoMerge branch 'upstream'
Darik Horn [Sat, 11 Aug 2012 00:33:41 +0000 (19:33 -0500)]
Merge branch 'upstream'

12 years agoSupport building a spl-modules-dkms sub package
Prakash Surya [Tue, 7 Aug 2012 20:57:03 +0000 (13:57 -0700)]
Support building a spl-modules-dkms sub package

This commit adds support for building a spl-modules-dkms sub package
built around Dynamic Kernel Module Support. This is to allow building
packages using the DKMS infrastructure which is intended to ease the
burden of kernel version changes, upgrades, etc.

By default spl-modules-dkms-* sub package will be built as part of
the 'make rpm' target.  Alternately, you can build only the DKMS
module package using the 'make rpm-dkms' target.

Examples:

    # To build packaged binaries as well as a dkms packages
    $ ./configure && make rpm

    # To build only the packaged binary utilities and dkms packages
    $ ./configure && make rpm-utils rpm-dkms

Note: Only the RHEL 5/6, CHAOS 5, and Fedora distributions are
      supported for building the dkms sub package.

Signed-off-by: Prakash Surya <surya1@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue zfsonlinux/zfs#535

12 years agoHandle any invalidate_inodes_check prototype.
Etienne Dechamps [Thu, 2 Aug 2012 13:33:31 +0000 (15:33 +0200)]
Handle any invalidate_inodes_check prototype.

In the comments of commit 723aa3b0c2eed070f7eeadd2ce2d87f46da6d0f8,
mmatuska reported that the test for invalidate_inodes_check() is broken
if invalidate_inodes() takes two arguments.

This patch fixes the issue by resorting to another approach for
detecting invalidate_inodes_check(): is simply checks if
invalidate_inodes is defined as a macro. If it is, then it concludes
that invalidate_inodes_check() is available. This will continue to work
even if the prototype of invalidate_inodes_check() changes over time.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #148

12 years agoPPA 0.6.0.69-0ubuntu3 release.
Darik Horn [Mon, 6 Aug 2012 14:35:14 +0000 (09:35 -0500)]
PPA 0.6.0.69-0ubuntu3 release.

12 years agoRun autogen for packaged builds.
Darik Horn [Mon, 6 Aug 2012 14:31:30 +0000 (09:31 -0500)]
Run autogen for packaged builds.

Add autoconf, automake, and autogen to the Build-Depends field in the
debian/control file, and run `./autogen.sh` before `./configure` in the
debian/rules file.

12 years agoRemove lintian-ltmain.patch
Darik Horn [Mon, 6 Aug 2012 14:17:02 +0000 (09:17 -0500)]
Remove lintian-ltmain.patch

This patch adds a whackbang to config/ltmain.sh, which is an autotools product
carried by upstream, to satisfy the lintian executable-not-elf-or-script check.

Remove the patch in antipication of running autogen for packaged builds, which
will regenerate the ltmain.sh file.

12 years agoConvert lintian-COPYING.patch to a build rule.
Darik Horn [Mon, 6 Aug 2012 14:03:35 +0000 (09:03 -0500)]
Convert lintian-COPYING.patch to a build rule.

The lintian-COPYING.patch changes the top Makefile.in to disable the GNU
standard rule for COPYING, which is a kludge. In anticipation of the upstream
removal of such autotools products, use a debian/rules line instead.

This supercedes commit 21ad7742863ec67d6697fe36863db8dd95c7e5e3.

12 years agoFix incorrect type in spl_kmem_cache_set_move() parameter
Richard Yao [Wed, 1 Aug 2012 06:00:40 +0000 (02:00 -0400)]
Fix incorrect type in spl_kmem_cache_set_move() parameter

A preprocessor definition renders this harmless. However, it is a good
idea to change this to be consistent.

Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu>
12 years agoUpdate the README file for deb packages.
Darik Horn [Fri, 27 Jul 2012 20:05:39 +0000 (15:05 -0500)]
Update the README file for deb packages.

The upstream instructions are inappropriate for building PPA-style packages
on Debian and Ubuntu. Packaging policy is violated here so that the README
appears correctly at Github.

12 years agoPPA 0.6.0.68-0ubuntu1 release.
Darik Horn [Fri, 27 Jul 2012 19:24:35 +0000 (14:24 -0500)]
PPA 0.6.0.68-0ubuntu1 release.

12 years agoMerge branch 'upstream'
Darik Horn [Fri, 27 Jul 2012 19:23:21 +0000 (14:23 -0500)]
Merge branch 'upstream'

12 years agoMerge branch 'builtin-clean'
Brian Behlendorf [Thu, 26 Jul 2012 22:30:47 +0000 (15:30 -0700)]
Merge branch 'builtin-clean'

Support in-tree builtin module building.

These commits add support for compiling the SPL module as a built-in
kernel module by copying the module code into the kernel source tree.
Here's the procedure:

  - Create your kernel configuration (`.config` file) as usual. This
    has to be done first so that SPL's configure script is able to
    detect kernel features correctly.
  - Run `make prepare scripts` inside the kernel source tree.
  - Run `./configure --enable-linux-builtin --with-linux=/usr/src/linux-...`
    inside the SPL directory.
  - Run `./copy-builtin /usr/src/linux-...` inside the SPL directory.
  - In the kernel source tree, enable the `CONFIG_SPL` option
    (e.g. using `make menuconfig`).
  - Build the kernel as usual.

SPL module parameters can be set at boot time using the following syntax
on the kernel command line: `spl.parameter_name=parameter_value`.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue zfsonlinux/zfs#851

12 years agoDetermine the hostid on demand.
Etienne Dechamps [Thu, 5 Jul 2012 07:22:03 +0000 (09:22 +0200)]
Determine the hostid on demand.

Currently, the SPL tries to determine the hostid at module load. The
hostid is usually determined by running the userland program "hostid"
during module initialization.

Unfortunately, when the module initializes, it may be way too soon to be
able to run any userland programs. This is especially true when the
module is compiled directly inside the kernel (built-in); in that case,
the SPL would try to run hostid when the kernel is still initializing,
which of course is doomed to fail.

This patch fixes the issue by deferring hostid generation until
something actually needs the hostid (that is, when zone_get_hostid() is
called), thus switching to a "on-initialization" model to a "on-demand"
(lazy loading) model. ZFS only needs the hostid when some pool
operations are requested, and this always happens way after the kernel
has finished initialization, thus solving the problem.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue zfsonlinux/zfs#851

12 years agoAdd script for builtin module building.
Etienne Dechamps [Mon, 9 Jul 2012 09:10:31 +0000 (11:10 +0200)]
Add script for builtin module building.

This commit introduces a "copy-builtin" script designed to prepare a
kernel source tree for building SPL as a builtin module. The script
makes a full copy of all needed files, thus making the kernel source
tree fully independent of the spl source package.

To achieve that, some compilation flags (-include, -I) have been moved
to module/Makefile. This Makefile is only used when compiling external
modules; when compiling builtin modules, a Kbuild file generated by the
configure-builtin script is used instead. This makes sure Makefiles
inside the kernel source tree does not contain references to the spl
source package.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue zfsonlinux/zfs#851

12 years agoWhen checking for symbol exports, try compiling.
Etienne Dechamps [Mon, 16 Jul 2012 15:04:05 +0000 (17:04 +0200)]
When checking for symbol exports, try compiling.

This patch adds a new autoconf function: SPL_LINUX_TRY_COMPILE_SYMBOL.
This new function does the following:

 - Call LINUX_TRY_COMPILE with the specified parameters.
 - If unsuccessful, return false.
 - If successful and we're configuring with --enable-linux-builtin,
   return true.
 - Else, call CHECK_SYMBOL_EXPORT with the specified parameters and
   return the result.

All calls to CHECK_SYMBOL_EXPORT are converted to
LINUX_TRY_COMPILE_SYMBOL so that the tests work even when configuring
for builtin on a kernel which doesn't have loadable module support, or
hasn't been built yet.

The only exception are:

 - AC_GET_VMALLOC_INFO, because we don't even have a public header to
include in the test case, but that's okay considering this symbol can
be ignored just fine.

- SPL_AC_DEVICE_CREATE, which is legacy API for 2.6.18 kernels.  Since
kernels this old are no longer supported it should arguably just be
removed entirely from the build system.

Note that we're also checking for the correct prototype with an actual
call, which was not the case with CHECK_SYMBOL_EXPORT. However, for
"complicated" test cases like with multiple symbol versions (e.g.
vfs_fsync), we stick with the original behavior and only check for the
function's existence.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue zfsonlinux/zfs#851

12 years agoFake modpost stage for LINUX_COMPILE.
Etienne Dechamps [Mon, 16 Jul 2012 07:29:05 +0000 (09:29 +0200)]
Fake modpost stage for LINUX_COMPILE.

Currently, when building a test case, we're compiling an entire Linux
module from beginning to end. This includes the MODPOST stage, which
generates a "conftest.mod.c" file with some boilerplate module
declaration code.

This poses a problem when configuring for built-in on kernels which have
loadable module support disabled. In this case conftest.mod.c is
referencing disabled code, resulting in a compilation failure, thus
breaking the tests.

This patch fixes the issue by faking the modpost stage when the
--enable-linux-builtin option is provided.  It does so by forcing the
modpost command to be /bin/true, and using an empty conftest.mod.c file.
The test module still compiles fine, although the result isn't loadable,
but we don't really care at this point.

Note it is important to preserve the modpost stage when building out of
tree.  This allows for the posibility of configure checks to leverage
this phase to identify GPL-only symbols.

Signed-off-by: Prakash Surya <surya1@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue zfsonlinux/zfs#851

12 years agoMake configure builtin-aware.
Etienne Dechamps [Mon, 16 Jul 2012 14:34:43 +0000 (16:34 +0200)]
Make configure builtin-aware.

This patch adds a new option to configure: --enable-linux-builtin. When
this option is used, the following happens:

 - Compilation of kernel modules is disabled.

 - A failure to find UTS_RELEASE is followed by a suggestion to run
   "make prepare" on the kernel source tree.

This patch also adds a new test which tries to compile an empty module
as a basic toolchain sanity test. If it fails and the option was
specified, the error is followed by a suggestion to run "make scripts"
on the kernel source tree.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue zfsonlinux/zfs#851

12 years agoFix undefined reference on spl_mutex_spin_max().
Etienne Dechamps [Mon, 16 Jul 2012 14:33:40 +0000 (16:33 +0200)]
Fix undefined reference on spl_mutex_spin_max().

Commit 3160d4f56bf35492e9c400094f8c1ff2066d4459 changed the set of
conditions under which spl_mutex_spin_max would be implemented as a
function by changing an #if in sys/mutex.h. The corresponding
implementation file spl-mutex.c, however, has not been updated to
reflect the change. This results in undefined reference errors on
spl_mutex_spin_max under the following condition:

((!CONFIG_SMP || CONFIG_DEBUG_MUTEXES) && HAVE_MUTEX_OWNER && HAVE_TASK_CURR)

This patch fixes the issue by using the same #if in sys/mutex.h and
spl-mutex.c.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue zfsonlinux/zfs#851

12 years agoDon't build packages that haven't been selected.
Etienne Dechamps [Tue, 17 Jul 2012 08:08:22 +0000 (10:08 +0200)]
Don't build packages that haven't been selected.

Currently, when configure --with-config is used, selective compilation
is only effective for the simple "make" case. Package builders (e.g.
make rpm) still build everything (utils and modules). This patch fixes
that.

This patch also drops the duplicate rpm-modules build target.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Prakash Surya <surya1@llnl.gov>
Issue zfsonlinux/zfs#851

12 years agoUse MODULE variable in module Makefile like zfs.
Etienne Dechamps [Thu, 5 Jul 2012 08:23:42 +0000 (10:23 +0200)]
Use MODULE variable in module Makefile like zfs.

In zfs, each module Makefile contains a MODULE variable which contains
the name of the module, and the following declarations reference this
variable.

In spl, there is a MODULES variable which is never used. Rename it to
MODULE and use it like in zfs. This improves consistency between the two
build systems.

Signed-off-by: Prakash Surya <surya1@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue zfsonlinux/zfs#851

12 years ago32-bit compat, hostid_read()
Brian Behlendorf [Fri, 20 Jul 2012 18:12:19 +0000 (11:12 -0700)]
32-bit compat, hostid_read()

Explicitly cast the sizeof in hostid_read() to prevent the
following compiler warning on 32-bit systems.

  module/spl/spl-generic.c:490:10: error: format '%lu' expects
  argument of type 'long unsigned int', but argument 4 has type
  'unsigned int' [-Werror=format]

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
12 years agoPPA 0.6.0.67-0ubuntu1 release.
Darik Horn [Mon, 16 Jul 2012 03:25:25 +0000 (22:25 -0500)]
PPA 0.6.0.67-0ubuntu1 release.

12 years agoRefresh debian/patches after upstream merge.
Darik Horn [Mon, 16 Jul 2012 03:24:16 +0000 (22:24 -0500)]
Refresh debian/patches after upstream merge.

12 years agoMerge branch 'upstream'
Darik Horn [Mon, 16 Jul 2012 03:18:07 +0000 (22:18 -0500)]
Merge branch 'upstream'

12 years agoOptimize spl_rwsem_is_locked()
Brian Behlendorf [Fri, 13 Jul 2012 19:49:40 +0000 (12:49 -0700)]
Optimize spl_rwsem_is_locked()

The spl_rwsem_is_locked() compatibility function has been observed
to be a hot spot.  The root cause of this is that we must check the
rwsem activity under the rwsem->wait_lock to avoid a race.  When
the lock is busy significant contention can occur.

The upstream kernel fix for this race had the insight that by using
spin_trylock_irqsave() this contention could be avoided.  When the
lock is contended it's reasonable to return that it is locked.

This change updates the SPLs implemention to be like the upstream
kernel.  Since the kernel code has been in use for years now this
a low risk change.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
12 years agoMove spl.release generation to configure step
Prakash Surya [Wed, 11 Jul 2012 22:47:56 +0000 (15:47 -0700)]
Move spl.release generation to configure step

Previously, the spl.release file was created at 'make install' time.
This is slightly problematic when the file is needed without running
'make install'. Because of this, the step creating the file was removed
from 'make install' and replaced with a more appropriate spl.release.in
file.

As a result, the spl.release file will now be created earlier as part
of the 'configure' step as opposed to the 'make install' step.

Signed-off-by: Prakash Surya <surya1@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #135

12 years agoDetect kernels that honor gfp flags passed to vmalloc()
Richard Yao [Thu, 7 Jun 2012 02:38:12 +0000 (22:38 -0400)]
Detect kernels that honor gfp flags passed to vmalloc()

zfsonlinux/spl@2092cf68d89a51eb0d6193aeadabb579dfc4b4a0 used
PF_MEMALLOC to workaround a bug in the Linux kernel where
allocations did not honor the gfp flags passed to vmalloc().
Unfortunately, PF_MEMALLOC has the side effect of permitting
allocations to allocate pages outside of ZONE_NORMAL. This
has been observed to result in the depletion of ZONE_DMA32.

A kernel patch is available in the Gentoo bug tracker for
this issue.

  https://bugs.gentoo.org/show_bug.cgi?id=416685

This negates any benefit PF_MEMALLOC provides, so we introduce
an autotools check to disable the use of PF_MEMALLOC on
systems with patched kernels.

Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #126

12 years agoPPA 0.6.0.66-0ubuntu1 release.
Darik Horn [Wed, 4 Jul 2012 04:58:09 +0000 (23:58 -0500)]
PPA 0.6.0.66-0ubuntu1 release.

12 years agoRefresh debian/patches after upstream merge.
Darik Horn [Wed, 4 Jul 2012 04:56:27 +0000 (23:56 -0500)]
Refresh debian/patches after upstream merge.

12 years agoMerge branch 'upstream'
Darik Horn [Wed, 4 Jul 2012 04:55:25 +0000 (23:55 -0500)]
Merge branch 'upstream'

12 years agoConstify memory management functions
Richard Yao [Mon, 25 Jun 2012 17:22:21 +0000 (13:22 -0400)]
Constify memory management functions

This prevents warnings in ZFS that were caused by changes necessary to
support PaX patched kernels. When debugging is enabled, these warnings
become build failures.

Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #131

12 years agoRemove Chaos 4.x RPM support
Brian Behlendorf [Mon, 2 Jul 2012 18:27:45 +0000 (11:27 -0700)]
Remove Chaos 4.x RPM support

The Chaos 4.x distribution is based on RHEL 5.x which is no longer
supported by ZoL since it uses a 2.6.18 kernel.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
12 years agoSupport debug and debug-devel sub packages
Prakash Surya [Mon, 7 May 2012 18:26:05 +0000 (11:26 -0700)]
Support debug and debug-devel sub packages

This commit adds support for building debug and debug-devel sub packages
of the spl-modules main package. This is to allow building packages
which are built against a debug kernel. By default, only packages are
built against a regular non-debug kernel. This can be toggled by passing
the '--with kernel-debug' parameter to rpmbuild.

Examples:

    # To build packages against only the non-debug kernel
    $ rpmbuild --rebuild --with kernel --without kernel-debug $SRPM

    # To build packages against only the debug kernel
    $ rpmbuild --rebuild --without kernel --with kernel-debug $SRPM

    # To build packages against debug and non-debug kernel
    $ rpmbuild --rebuild --with kernel --with kernel-debug $SRPM

Note: Only the RHEL 5/6, CHAOS 5, and Fedora distributions are supported
      for building the debug and debug-devel packages.

Signed-off-by: Prakash Surya <surya1@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #115

12 years agoPowerPC Compatibility
Brian Behlendorf [Fri, 29 Jun 2012 18:54:52 +0000 (11:54 -0700)]
PowerPC Compatibility

Usage of get_current() is not supported across all architectures.
The correct interface to use is the '#define current' which will
map to the appropriate function, usually current_thread_info().

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #119

12 years agoPPA 0.6.0.65-0ubuntu1 release.
Darik Horn [Thu, 14 Jun 2012 20:06:17 +0000 (15:06 -0500)]
PPA 0.6.0.65-0ubuntu1 release.

12 years agoMerge branch 'upstream'
Darik Horn [Thu, 14 Jun 2012 20:05:04 +0000 (15:05 -0500)]
Merge branch 'upstream'

12 years agoSPL 0.6.0-rc9
Brian Behlendorf [Thu, 14 Jun 2012 18:45:11 +0000 (11:45 -0700)]
SPL 0.6.0-rc9

12 years agoLinux 3.4 compat, __clear_close_on_exec replaces FD_CLR
Richard Yao [Wed, 6 Jun 2012 16:51:53 +0000 (16:51 +0000)]
Linux 3.4 compat, __clear_close_on_exec replaces FD_CLR

torvalds/linux@1dce27c5aa6770e9d195f2bb7db1db3d4dde5591 introduced
__clear_close_on_exec() as a replacement for FD_CLR. Further commits
appear to have removed FD_CLR from the Linux source tree.  This
causes the following failure:

  error: implicit declaration of function '__FD_CLR'
  [-Werror=implicit-function-declaration]

To correct this we update the code to use the current
__clear_close_on_exec() interface for readability.  Then we introduce
an autotools check to determine if __clear_close_on_exec() is available.
If it isn't then we define some compatibility logic which used the older
FD_CLR() interface.

Signed-off-by: Richard Yao <ryao@gentoo.org>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #124

12 years agoFix uninit variable in slab reclaim test
Brian Behlendorf [Wed, 13 Jun 2012 20:43:29 +0000 (13:43 -0700)]
Fix uninit variable in slab reclaim test

Gcc version 4.7.0 reports the delta.tv_sec in the slab reclaim test
as potentially unitialized.  In practice this will never occur but
to keep gcc happy we initialize the variable to zero.

Signed-off-by: Brian Behlendorf <behlendo@fedora-17-amd64.(none)>
12 years agoPPA 0.6.0.64-0ubuntu1 release.
Darik Horn [Tue, 12 Jun 2012 03:55:37 +0000 (22:55 -0500)]
PPA 0.6.0.64-0ubuntu1 release.

12 years agoMerge branch 'upstream'
Darik Horn [Tue, 12 Jun 2012 03:53:23 +0000 (22:53 -0500)]
Merge branch 'upstream'

12 years agoFix invalid context bug
Brian Behlendorf [Mon, 11 Jun 2012 16:12:37 +0000 (09:12 -0700)]
Fix invalid context bug

In the module unload path the vm_file_cache was being destroyed
under a spin lock.  Because this operation might sleep it was
possible, although very very unlikely, that this could result
in a deadlock.

This issue was indentified by using a Linux debug kernel and
has been fixed by moving the kmem_cache_destroy() out from under
the spin lock.  There is no need to lock this operation here.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes zfsonlinux/zfs#771

12 years agoPPA 0.6.0.63-0ubuntu1 release.
Darik Horn [Sat, 2 Jun 2012 00:43:32 +0000 (19:43 -0500)]
PPA 0.6.0.63-0ubuntu1 release.

12 years agoDisable Ubuntu 10.10 Maverick Meerkat builds.
Darik Horn [Sat, 2 Jun 2012 00:39:06 +0000 (19:39 -0500)]
Disable Ubuntu 10.10 Maverick Meerkat builds.

Distro support for Maverick ended April 10th 2012:

  https://lists.ubuntu.com/archives/ubuntu-announce/2012-April/000158.html

12 years agoMerge branch 'upstream'
Darik Horn [Sat, 2 Jun 2012 00:35:57 +0000 (19:35 -0500)]
Merge branch 'upstream'

12 years agoFix ARM 64-bit division
Jorgen Lundman [Tue, 15 May 2012 05:45:09 +0000 (05:45 +0000)]
Fix ARM 64-bit division

Correctly implementating 64-bit division for ARM requires more than
just providing the __aeabi_uldivmod() and __aeabi_ldivmod() symbols.
They are need to be implemented is such a way that the quotient and
remainder and left in specific registers after the division operation
completes.  This change updates the wrapper functions to accomplish
this according to the official ARM Run-time ABI.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes zfsonlinux/zfs#706

12 years agoRemove Solaris module emulation
Brian Behlendorf [Thu, 10 May 2012 23:25:23 +0000 (16:25 -0700)]
Remove Solaris module emulation

Originally I believed that these interfaces would be needed.
However, in practice it turned out that it was more straight
forward and maintainable to use the native Linux interfaces.
As such, this is all dead code and can be safely removed.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #109

12 years agoModify KM_PUSHPAGE to use GFP_NOIO instead of GFP_NOFS
Richard Yao [Tue, 1 May 2012 13:34:39 +0000 (09:34 -0400)]
Modify KM_PUSHPAGE to use GFP_NOIO instead of GFP_NOFS

The resolution of issue #31 made KM_PUSHPAGE imply GFP_NOFS.  This
was done to prevent situations where filesystem operations which are
holding locks enter direct reclaim and attempt to reaquire those
same locks.  This clearly will result in a deadlock.

This works for datasets which are implemented in terms for filesystem
operations.  But unfortunately, swapping to a zvol will encounter
many of the same deadlocks and GFP_NOFS will not prevent this.  As
such, it is appropriate to extend KM_PUSHPAGE to use the broader
GFP_NOIO mask to handle these non-filesystem cases.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue zfsonlinux/zfs#342
Closes #105

12 years agoAdd SPLAT test to exercise slab direct reclaim
Prakash Surya [Mon, 30 Apr 2012 22:37:49 +0000 (15:37 -0700)]
Add SPLAT test to exercise slab direct reclaim

This test is designed to verify that direct reclaim is functioning as
expected.  We allocate a large number of objects thus creating a large
number of slabs.  We then apply memory pressure and expect that the
direct reclaim path can easily recover those slabs.  The registered
reclaim function will free the objects and the slab shrinker will call
it repeatedly until at least a single slab can be freed.

Note it may not be possible to reclaim every last slab via direct reclaim
without a failure because the shrinker_rwsem may be contended.  For this
reason, quickly reclaiming 3/4 of the slabs is considered a success.

This should all be possible within 10 seconds.  For reference, on a
system with 2G of memory this test takes roughly 0.2 seconds to run.
It may take longer on larger memory systems but should still easily
complete in the alloted 10 seconds.

Signed-off-by: Prakash Surya <surya1@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #107

12 years agoEnsure a minimum of one slab is reclaimed
Brian Behlendorf [Tue, 1 May 2012 21:27:29 +0000 (14:27 -0700)]
Ensure a minimum of one slab is reclaimed

To minimize the chance of triggering an OOM during direct reclaim.
The kmem caches have been improved to make a best effort to reclaim
at least one slab when a reclaim function is registered.  This helps
avoid the case where objects are released but they are spread over
multiple slabs so no memory gets reclaimed.

Care has been taken to avoid deadlocking if the reclaim function
is unable to make forward progress.  Additionally, the reclaim
function may be skipped entirely if there are already free slabs
which can be safely reaped.

Signed-off-by: Prakash Surya <surya1@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #107

12 years agoEnsure direct reclaim forward progress
Brian Behlendorf [Tue, 1 May 2012 22:49:07 +0000 (15:49 -0700)]
Ensure direct reclaim forward progress

The Linux direct reclaim path uses this out of band value to
determine if forward progress is being made.  Normally this is
incremented by kmem_freepages() which is part of the various
Linux slab implementations.  However, since we are using none
of that infrastructure we're responsible for incrementing this
count.

If no forward progress is detected and a subsequent allocation
fails the OOM killer will be invoked.  If there was forward
progress additional reclaim will be attempted via the page
cache and registerd shrinker until the allocation succeeds.

Signed-off-by: Prakash Surya <surya1@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #107

12 years agoIgnore slab cache age and delay in direct reclaim
Prakash Surya [Fri, 27 Apr 2012 19:43:49 +0000 (12:43 -0700)]
Ignore slab cache age and delay in direct reclaim

When memory pressure triggers direct memory reclaim, a slabs age
and delay should not prevent it from being freed. This patch ensures
these values are ignored, allowing an empty slab to be freed in this
code path no matter the value of its age and delay.

This prevents needless scanning of the partial slabs and has been
observed to significantly reduce the total cpu usage.  In addition,
it should allow for snappier reclaim under memory pressure.

Signed-off-by: Prakash Surya <surya1@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #102

12 years agoThrottle number of freed slabs based on nr_to_scan
Prakash Surya [Fri, 27 Apr 2012 22:10:02 +0000 (15:10 -0700)]
Throttle number of freed slabs based on nr_to_scan

Previously, the SPL tried to maintain Solaris semantics by freeing
all available (empty) slabs from its slab caches when the shrinker
was called. This is not desirable when running on Linux. To make
the SPL shrinker more Linux friendly, the actual number of freed
slabs from each of the slab caches is now derived from nr_to_scan
and skc_slab_objs.

Additionally, an accounting bug was fixed in spl_slab_reclaim()
which could cause us to reclaim one more slab than requested.

Signed-off-by: Prakash Surya <surya1@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #101

12 years agoAdd missing 64-bit divide for 32-bit ARM
Jorgen Lundman [Wed, 2 May 2012 00:15:28 +0000 (00:15 +0000)]
Add missing 64-bit divide for 32-bit ARM

Leverage the existing generic 64-bit division operations which
were originally implemented for x86 to support ARM.  All that is
required is to make the symbols available to the linker with the
expected names.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
12 years agoDefine the needed ISA types for ARM
Jorgen Lundman [Sat, 28 Apr 2012 06:29:25 +0000 (06:29 +0000)]
Define the needed ISA types for ARM

Add the minimum required ISA types to support the ARM architecture.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
12 years agoPPA 0.6.0.62-0ubuntu1 release.
Darik Horn [Tue, 1 May 2012 19:34:04 +0000 (14:34 -0500)]
PPA 0.6.0.62-0ubuntu1 release.

12 years agoRefresh debian/patches after upstream merge.
Darik Horn [Tue, 1 May 2012 19:32:44 +0000 (14:32 -0500)]
Refresh debian/patches after upstream merge.

12 years agoMerge branch 'upstream'
Darik Horn [Tue, 1 May 2012 19:31:07 +0000 (14:31 -0500)]
Merge branch 'upstream'

12 years agoUpdate a comment to reflect new taskq internals
Prakash Surya [Thu, 15 Dec 2011 21:48:37 +0000 (13:48 -0800)]
Update a comment to reflect new taskq internals

As of the removal of the taskq work list made in commit:

    commit 2c02b71b1411176905228666abf7a50a2e5f85dc
    Author: Prakash Surya <surya1@llnl.gov>
    Date:   Mon Dec 5 17:32:48 2011 -0800

        Replace tq_work_list and tq_threads in taskq_t

        To lay the ground work for introducing the taskq_dispatch_prealloc()
        interface, the tq_work_list and tq_threads fields had to be replaced
        with new alternatives in the taskq_t structure.

the comment above taskq_wait_check has been incorrect. This change is an
attempt at bringing that description more in line with the current
implementation. Essentially, references to the old task work list had to
be updated to reference the new taskq thread active list.

Signed-off-by: Prakash Surya <surya1@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #65

12 years agoPPA 0.6.0.61-0ubuntu1 release.
Darik Horn [Sun, 22 Apr 2012 13:19:06 +0000 (08:19 -0500)]
PPA 0.6.0.61-0ubuntu1 release.

12 years agoPPA 0.6.0.60-0ubuntu1 release.
Darik Horn [Sat, 21 Apr 2012 15:33:11 +0000 (10:33 -0500)]
PPA 0.6.0.60-0ubuntu1 release.

12 years agoPPA 0.6.0.59-0ubuntu1 release.
Darik Horn [Fri, 13 Apr 2012 13:59:29 +0000 (08:59 -0500)]
PPA 0.6.0.59-0ubuntu1 release.

12 years agoPPA 0.6.0.58-0ubuntu1 release.
Darik Horn [Mon, 9 Apr 2012 14:38:34 +0000 (09:38 -0500)]
PPA 0.6.0.58-0ubuntu1 release.

12 years agoAdd dkms kernel source exception for Proxmox 2.0
Darik Horn [Mon, 9 Apr 2012 14:33:22 +0000 (09:33 -0500)]
Add dkms kernel source exception for Proxmox 2.0

Proxmox 2.0 identifies itself as Debian, but provides a non-Debian
kernel package. Accomodate the configuration difference in the
dkms.conf file.

Closes: zfsonlinux/zfs#630
12 years agoMerge branch 'upstream'
Darik Horn [Mon, 9 Apr 2012 14:07:14 +0000 (09:07 -0500)]
Merge branch 'upstream'

12 years agoRemove condition variable names
Brian Behlendorf [Fri, 6 Apr 2012 18:29:23 +0000 (11:29 -0700)]
Remove condition variable names

Long ago I added support to the spl for condition variable names
because I thought they might be needed.  It turns out they aren't.
In fact the official Solaris cv_init(9F) man page discourages
their use in the kernel.

  cv_init(9F)
    Parameters
      name - Descriptive string. This is obsolete and should be
             NULL. (Non-NULL strings are legal, but they're a
             waste of kernel memory.)

Therefore, I'm removing them from the spl to reclaim this memory
and adding an ASSERT() to ensure no new consumers are added which
make use of the name.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
12 years agoPPA 0.6.0.57-0ubuntu1 release.
Darik Horn [Fri, 30 Mar 2012 05:08:27 +0000 (00:08 -0500)]
PPA 0.6.0.57-0ubuntu1 release.