Commit Graph

2188 Commits

Author SHA1 Message Date
Brian Behlendorf 593d5a361f Refresh autogen.sh products 2010-08-16 17:04:57 -07:00
Brian Behlendorf 528be69b84 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-08-16 16:46:49 -07:00
Brian Behlendorf a551784f88 Merge branch 'linux-libspl' into refs/top-bases/linux-zfs-branch 2010-08-16 16:44:55 -07:00
Brian Behlendorf 402a5129a0 Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2010-08-16 16:44:53 -07:00
Brian Behlendorf e57cec8bf4 Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch 2010-08-16 16:43:44 -07:00
Brian Behlendorf bfa310466d Merge commit 'refs/top-bases/linux-have-mntent' into linux-have-mntent 2010-08-16 16:43:42 -07:00
Brian Behlendorf fbe31d8a21 Make interlibrary dependencies explicit
See commit e69bd526c1.
2010-08-16 16:37:39 -07:00
Sebastian Pipping e69bd526c1 Make interlibrary dependencies explicit
Under the latest Gentoo (2.6.34-gentoo-r2) the interlibrary
dependencies must be made explicit.  This is likely due to
the --as-needed linker option which is commonly used under
Gentoo.  This option requires that the linker only include
the minimum set of symbols required by the binary.  Without
the full dependency tree the linker would need to bring in
all the symbols from dependent libraries.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2010-08-16 16:24:36 -07:00
Brian Behlendorf b1ee7f46b9 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-08-12 15:25:37 -07:00
Brian Behlendorf d07fd603e1 Merge branch 'linux-user-disk' into refs/top-bases/linux-zfs-branch 2010-08-12 15:23:54 -07:00
Brian Behlendorf 260f8400e8 Skip floppy device when probing /dev/
When probing /dev/ for validing ZFS devices to import skip floppy
block devices.  There's no reason to waste time checking these
devices even though they are valid block devices.  Plus, we had
one system get stuck on I/O errors probing the device.

  end_request: I/O error, dev fd0, sector 0
  Buffer I/O error on device fd0p120, logical block 0
  end_request: I/O error, dev fd0, sector 8
  Buffer I/O error on device fd0p120, logical block 1
2010-08-12 15:19:00 -07:00
Brian Behlendorf 7b66ddcd84 Refresh autogen.sh products 2010-08-09 16:59:53 -07:00
Brian Behlendorf 9d9b599b33 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-08-06 11:17:49 -07:00
Brian Behlendorf 7c857dcaf4 Merge branch 'linux-libspl' into refs/top-bases/linux-zfs-branch 2010-08-06 11:17:46 -07:00
Brian Behlendorf 615e289a57 Revert "Remove declarations in VERIFY3_IMPL to save stack"
This reverts commit 421d95b3ea.

Ricardo correctly pointed out that there is more going on here than
typecasting.  By removing the locals we are actually causing LEFT and
RIGHT to be evaluated twice which can potentially lead to some
strange side effects as:

1) VERIFY3*() causing a panic but in the panic message the values
look correct such that the assertion shouldn't fail, or:

2) if LEFT or RIGHT are expressions with side-effects (e.g. a call
to a function which changes some state), then when we panic and
examine the crash dump, it may lead to an unexpected state because
we are not expecting certain things to change during the panic,
after the expressions inside VERIFY3*(...) have been evaluated.

3) Also, it may lead to double-panics or deadlocks during panics,
like for example, if the expressions inside VERIFY3*(...) only expect
to be called once (e.g. because they acquire a mutex).
2010-08-06 11:08:24 -07:00
Brian Behlendorf 0fd353341a Revert "remove compiler warning on 32-bit systems"
This reverts commit 80819cc01e.
2010-08-06 11:08:11 -07:00
Brian Behlendorf 04497a6064 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-08-04 09:45:03 -07:00
Brian Behlendorf 66391bec96 Merge branch 'linux-libspl' into refs/top-bases/linux-zfs-branch 2010-08-04 09:45:00 -07:00
Ned Bass 80819cc01e remove compiler warning on 32-bit systems
commit 421d95b3ea introduced a compiler
warning on 32-bit systems about casting a pointer to an integer of a
different size.  This commit removes the warning by casting the arguments
to snprintf in the same manner as the original VERIFY3_IMPL macro.
2010-08-04 09:38:44 -07:00
Brian Behlendorf f5a6a98e5c Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-08-02 13:55:28 -07:00
Brian Behlendorf 7d01d9e14a Merge branch 'linux-libspl' into refs/top-bases/linux-zfs-branch 2010-08-02 13:53:57 -07:00
Ned Bass 421d95b3ea Remove declarations in VERIFY3_IMPL to save stack
This has a minor impact on stack usage of individual functions, but the
VERIFY macros are used so frequently that their overhead may add up.
This macro declared two new local variables to cast its argument types.
Doing the typecast inline eliminates the need for these variables.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2010-08-02 13:34:48 -07:00
Brian Behlendorf ca60603ce7 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-08-02 12:55:02 -07:00
Brian Behlendorf b39593040c Merge branch 'linux-user-disk' into refs/top-bases/linux-zfs-branch 2010-08-02 12:54:57 -07:00
Brian Behlendorf 097150e1b7 Minor device creation/removal (User)
With the update to onnv_141 how minor devices were created and
removed for ZVOL was substantially changed.  The updated system
is much more tightly integrated with Solaris's /dev/ filesystem.
This is great for Solaris but bad for Linux.

This patch keeps as much of those changes as possible which as
useful for Linux.  But it also reverts back to use the old system
of explicit minor node creation via a decicated ioctl().  This
worked well in zfs-0.4.9 and it should continue to work well.
2010-08-02 11:37:29 -07:00
Brian Behlendorf d825659880 Refresh autogen products 2010-07-28 09:49:38 -07:00
Brian Behlendorf 641f300534 Refresh autogen products 2010-07-23 11:50:26 -07:00
Brian Behlendorf b00509d4b3 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-07-23 11:44:49 -07:00
Brian Behlendorf 0408af1eb1 Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2010-07-23 11:43:20 -07:00
Brian Behlendorf f920386365 Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2010-07-23 11:43:04 -07:00
Brian Behlendorf 2deb475123 Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch 2010-07-23 11:42:26 -07:00
Brian Behlendorf 6e615d3108 Merge commit 'refs/top-bases/linux-have-mntent' into linux-have-mntent 2010-07-23 11:42:24 -07:00
Brian Behlendorf 758275af4f Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2010-07-23 11:42:23 -07:00
Brian Behlendorf 2eee7b0ee5 Merge branch 'fix-branch' into refs/top-bases/zfs-branch 2010-07-23 11:42:22 -07:00
Brian Behlendorf 4471454be8 Merge branch 'fix-stack-ztest' into refs/top-bases/fix-branch 2010-07-23 11:42:21 -07:00
Ned Bass be92edb218 Add extra guard space if needed
Some buggy NPTL threading implementations include the guard area within
the stack size allocations.  In this case we need to allocate an extra
page to account for the guard area since we only have two pages of usable
stack on Linux.  Added an autoconf test that detects such implementations
by running a test program designed to segfault if the bug is present.
Set a flag NPTL_GUARD_WITHIN_STACK that is tested to decide if extra
stack space must be allocated for the guard area.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2010-07-23 11:38:00 -07:00
Brian Behlendorf 3992d0811c Refresh autogen products 2010-07-23 10:48:54 -07:00
Brian Behlendorf f202496925 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-07-23 10:46:27 -07:00
Brian Behlendorf fd8be4cd39 Merge branch 'linux-libspl' into refs/top-bases/linux-zfs-branch 2010-07-23 10:44:55 -07:00
Brian Behlendorf fe76ce50f8 Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2010-07-23 10:44:53 -07:00
Brian Behlendorf 404931364c Merge branch 'linux-user-disk' into refs/top-bases/linux-zfs-branch 2010-07-23 10:44:38 -07:00
Brian Behlendorf f00f30038a Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2010-07-23 10:44:36 -07:00
Brian Behlendorf 9f24ae6b22 Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch 2010-07-23 10:43:58 -07:00
Brian Behlendorf d931c577c1 Merge commit 'refs/top-bases/linux-have-mntent' into linux-have-mntent 2010-07-23 10:43:55 -07:00
Brian Behlendorf 1f3fa4df05 Add -stack-check option to libspl
See commit f16dec7e67fe86f3c3556a67865ee715a2964d70 for full
details of this change.  But in summary -fstack-check is being
restricted in usage only to locations which must already have
small stack frames.
2010-07-23 10:38:44 -07:00
Brian Behlendorf 7fa6f8b93a Restrict usage of -fstack-check option
The stack check implementation in older versions of gcc has
a fairly low default limit on STACK_CHECK_MAX_FRAME_SIZE of
roughly 4096.  This results in numerous warning when it is
used with code which was designed to run in user space and
thus may be relatively stack heavy.  The avoid these warnings,
which are fatal with -Werror, this patch targets the use of
-fstack-check to libraries which are compiled in both user
space and kernel space.  The only utility which uses this
flag is ztest which is designed to simulate running in the
kernel and must meet the -fstack-check requirements.  All
other user space utilities do not use -fstack-check.

  warning: frame size too large for reliable stack checking
  warning: try reducing the number of local variables
2010-07-23 10:38:07 -07:00
Brian Behlendorf c0932825ea Reduce stack move path local to heap
To use the -fstack-check gcc option each stack frame must be
keep reasonably small.  In this case the path local is moved
from the stack to the heap to keep us under the limit.

  warning: frame size too large for reliable stack checking
  warning: try reducing the number of local variables
2010-07-23 10:36:49 -07:00
Brian Behlendorf 0d6f8e56b2 Refresh autogen products 2010-07-23 09:49:24 -07:00
Brian Behlendorf 2f23f9d2a9 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-07-22 17:03:15 -07:00
Brian Behlendorf f58859a371 Merge branch 'linux-topology' into refs/top-bases/linux-zfs-branch 2010-07-22 17:03:13 -07:00