zfs/module
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
..
avl Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-03-11 11:09:13 -07:00
nvpair Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-09 13:17:27 -07:00
unicode Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-03-11 14:08:51 -07:00
zcommon Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-08-18 12:10:55 -07:00
zfs Adds the last missing block device support (merge_bdev support) 2009-10-27 14:38:38 -07:00
Makefile.in Distro friendly build system / packaging improvements. 2009-07-01 10:53:05 -07:00