Commit Graph

15457 Commits

Author SHA1 Message Date
Brian Behlendorf df6bfa3ce9 Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2009-10-27 15:02:15 -07:00
Brian Behlendorf 87218f5709 Merge commit 'refs/top-bases/linux-docs' into linux-docs 2009-10-27 15:02:13 -07:00
Brian Behlendorf a9accbcb57 Always open using O_EXCL to ensure the device is not in use.
Allow partition tables on md devices but not dm- devices.
2009-10-27 14:58:12 -07:00
Brian Behlendorf ed97b4447d Adds the last missing block device support (merge_bdev support)
This change should wrap up the last of the missing block device
support in the vdev_disk layer.  With this change I can now
successfully create and use zpools which are layered on top of
md and lvm virtual devices.  The following changes include:

1) The big one, properly handle the case when page cannot be added
to a bio due to dynamic limitation of a merge_bdev handler.  For
example the md device will limit a bio to the configured stripe
size.  Our bio size may also end up being limited by the maximum
request size, and other factors determined during bio construction.

To handle all of the above cases the code has been updated to
handle failures from bio_add_page().  This had been hardcoded to
never fail for the prototype proof of concept implementation.  In
the case of a failure the number of bytes which still need to be
added to a bio are returned.  New bio's are allocated and attached
to the dio until the entire data buffer is mapped to bios.  It is
then submitted as before to the request queue, and once all the bio's
attached to a dio have finished the completion callback is run.

2) The devid comments have been removed because it is not clear to
me that we will not need devid support.  They have been replaced
with a comment explaining that udev can and should be used.
2009-10-27 14:38:38 -07:00
Brian Behlendorf 008f3a42bb Added zpios-sanity.sh script to validate common configurations.
This script was added to provide a simple way to check that zpool
layers correctly on all the standard linux block device types.
It's still a little fragile if there a hiccup in say the md or
lvm tool chain but aside from that it works well.

The 'make check' target now also calls this script in a safe mode
which only operates on files and loopback devices.  To check other
block devices types is must be explicitly run by hand because it
will overwrite various block devices.
2009-10-27 14:33:27 -07:00
Brian Behlendorf 2d70e6fd91 Update scripts to cleanup better when setup failures occur 2009-10-27 14:31:31 -07:00
Brian Behlendorf 0f959cc313 Merge branch 'linux-user-disk' into refs/top-bases/linux-zfs-branch 2009-10-26 10:53:52 -07:00
Brian Behlendorf 37a519433c Add additional clarification for Linux systems to error message. 2009-10-26 10:50:43 -07:00
Brian Behlendorf b845e1e543 Merge branch 'linux-have-idmap' into refs/top-bases/linux-zfs-branch 2009-10-26 10:50:07 -07:00
Brian Behlendorf 9190d7b0e2 Merge commit 'refs/top-bases/linux-have-idmap' into linux-have-idmap 2009-10-26 10:50:06 -07:00
Brian Behlendorf e731c16616 Merge branch 'linux-ztest' into refs/top-bases/linux-zfs-branch 2009-10-26 10:50:01 -07:00
Brian Behlendorf 745711e4fa Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2009-10-26 10:50:00 -07:00
Brian Behlendorf ec3b852f87 Merge branch 'linux-have-zpl' into refs/top-bases/linux-zfs-branch 2009-10-26 10:49:55 -07:00
Brian Behlendorf 395efeea02 Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-10-26 10:49:53 -07:00
Brian Behlendorf 195775b62d Merge branch 'linux-unused' into refs/top-bases/linux-zfs-branch 2009-10-26 10:49:49 -07:00
Brian Behlendorf 688a77c600 Merge commit 'refs/top-bases/linux-unused' into linux-unused 2009-10-26 10:49:47 -07:00
Brian Behlendorf a33c17f764 Merge branch 'linux-libspl' into refs/top-bases/linux-zfs-branch 2009-10-26 10:49:43 -07:00
Brian Behlendorf 2a90602f35 Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2009-10-26 10:49:41 -07:00
Brian Behlendorf 0b7e2369b1 Merge branch 'linux-zpios' into refs/top-bases/linux-zfs-branch 2009-10-26 10:49:37 -07:00
Brian Behlendorf 753a45822f Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-10-26 10:49:35 -07:00
Brian Behlendorf 419036f635 Merge branch 'linux-user-disk' into refs/top-bases/linux-zfs-branch 2009-10-26 10:49:30 -07:00
Brian Behlendorf 757cbd422e Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2009-10-26 10:49:28 -07:00
Brian Behlendorf 60b32c37d7 Merge branch 'linux-symbol-collisions' into refs/top-bases/linux-zfs-branch 2009-10-26 10:49:24 -07:00
Brian Behlendorf 50b1a0b822 Merge commit 'refs/top-bases/linux-symbol-collisions' into linux-symbol-collisions 2009-10-26 10:49:22 -07:00
Brian Behlendorf c2be60c215 Merge branch 'linux-legacy' into refs/top-bases/linux-zfs-branch 2009-10-26 10:49:18 -07:00
Brian Behlendorf 5544dc20a5 Merge commit 'refs/top-bases/linux-legacy' into linux-legacy 2009-10-26 10:49:16 -07:00
Brian Behlendorf 7091db797b Merge branch 'linux-kernel-mem' into refs/top-bases/linux-zfs-branch 2009-10-26 10:49:11 -07:00
Brian Behlendorf ebb2afcdfe Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-10-26 10:49:09 -07:00
Brian Behlendorf 81a0245120 Merge branch 'linux-kernel-disk' into refs/top-bases/linux-zfs-branch 2009-10-26 10:49:05 -07:00
Brian Behlendorf b7c469b75d Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-10-26 10:49:03 -07:00
Brian Behlendorf db646bdb19 Merge branch 'linux-have-zvol' into refs/top-bases/linux-zfs-branch 2009-10-26 10:48:59 -07:00
Brian Behlendorf 485ee35cfc Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-10-26 10:48:57 -07:00
Brian Behlendorf 827b8cc4ef Merge branch 'linux-have-uio-rw' into refs/top-bases/linux-zfs-branch 2009-10-26 10:48:52 -07:00
Brian Behlendorf bfd3c7f7d0 Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-10-26 10:48:51 -07:00
Brian Behlendorf 0c81aa8d72 Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-10-26 10:48:50 -07:00
Brian Behlendorf 7f3e55993c Merge branch 'linux-have-sysevent' into refs/top-bases/linux-zfs-branch 2009-10-26 10:48:42 -07:00
Brian Behlendorf 9643e17a78 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-10-26 10:48:41 -07:00
Brian Behlendorf c05071f581 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-10-26 10:48:40 -07:00
Brian Behlendorf 0f1eae0369 Merge branch 'linux-have-spl-debug' into refs/top-bases/linux-zfs-branch 2009-10-26 10:48:32 -07:00
Brian Behlendorf 3e813e0974 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-10-26 10:48:30 -07:00
Brian Behlendorf 5d70c04d32 Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch 2009-10-26 10:48:26 -07:00
Brian Behlendorf 2b04eeeb6a Merge commit 'refs/top-bases/linux-have-mntent' into linux-have-mntent 2009-10-26 10:48:24 -07:00
Brian Behlendorf 680dd74c3c Merge branch 'linux-have-fm' into refs/top-bases/linux-zfs-branch 2009-10-26 10:48:20 -07:00
Brian Behlendorf 629598bf9b Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-10-26 10:48:18 -07:00
Brian Behlendorf 6d103301db Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2009-10-26 10:48:14 -07:00
Brian Behlendorf 8d572c1231 Merge commit 'refs/top-bases/linux-docs' into linux-docs 2009-10-26 10:48:12 -07:00
Brian Behlendorf 5fbb2c1c4e Test configs for md, dm, and ramdisk style block devices
For the sake of completeness we need to validate everything works
well not just on IDE or SCSI drives.  But we need to verify a
zpool configured on top of the Linux virtual block devices.
These scripts simply that testing process, and have shown that
while everything is good on top of a ram disk.  Right now the
code base panics the kernel when layered on top of either an
md or dm style device.  For the moment don't do that.
2009-10-26 10:41:06 -07:00
Brian Behlendorf 1a42b319f6 Merge branch 'linux-user-disk' into refs/top-bases/linux-zfs-branch 2009-10-23 16:33:22 -07:00
Brian Behlendorf 29c9a2518c Properly handle block devices other the IDE and SCSI disks.
Based on the block device type we can expect a specific naming
convention.  With this in mind update efi_get_info() to be more
aware of the type when parsing out the partition number.  In,
addition be aware that all block device types are not partitionable.
Finally, when attempting to lookup a device partition by appending
the partition number to the whole device take in to account the
kernel naming scheme.  If the last character of the device name
is a digit the partition will always be 'p#' instead of just '#'.
2009-10-23 16:25:16 -07:00
Brian Behlendorf 8e29b5ee40 Merge branch 'linux-have-idmap' into refs/top-bases/linux-zfs-branch 2009-10-23 12:29:23 -07:00