Commit Graph

2682 Commits

Author SHA1 Message Date
Brian Behlendorf 6d5f412514 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-11-02 14:15:33 -08:00
Brian Behlendorf 31a5ad7c9d Add missing zconfig.sh test script to package. 2009-11-02 14:09:23 -08:00
Brian Behlendorf 6101f4eff7 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-11-02 13:09:08 -08:00
Brian Behlendorf 1911adb241 Prep for 0.4.6 tag, updated META, ChangeLog, and TODO. 2009-11-02 13:03:59 -08:00
Brian Behlendorf d509ff0e40 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-10-27 15:03:14 -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 2d70e6fd91 Update scripts to cleanup better when setup failures occur 2009-10-27 14:31:31 -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 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 905511438f Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-10-23 12:27:41 -07:00
Brian Behlendorf 74b67983f1 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-10-23 12:24:39 -07:00
Brian Behlendorf edb22b6a3e Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-10-23 12:24:38 -07:00
Brian Behlendorf 53fcde4a48 Merge commit 'refs/top-bases/gcc-branch' into gcc-branch 2009-10-23 12:24:37 -07:00
Brian Behlendorf d8d360724d Merge branch 'gcc-uninit' into refs/top-bases/gcc-branch 2009-10-23 12:24:37 -07:00
Brian Behlendorf 5972702242 Add two more possible uninit vars flagged by gcc. 2009-10-23 11:43:09 -07:00
Brian Behlendorf 7dc8d8e947 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-10-21 12:04:03 -07:00
Brian Behlendorf 5bf14d3400 Update zpool-configs to be udev aware.
To simplify creation and management of test configurations the
dragon and x4550 configureis have been integrated with udev.  Our
current best guess as to how we'll actually manage the disks in
these systems is with a udev mapping scheme.  The current leading
scheme is to map each drive to a simpe <CHANNEL><RANK> id.  In
this mapping each CHANNEL is represented by the letters a-z, and
the RANK is represented by the numbers 1-n.  A CHANNEL should
identify a group of RANKS which are all attached to a single
controller, each RANK represents a disk.  This provides a nice
mechanism to locate a specific drive given a known hardware
configuration.  Various hardware vendors use a similar scheme.

A nice side effect of these changes is it allowed me to make
the raid0/raid10/raidz/raidz2 setup functions generic.  This
makes adding new test configs easy, you just need to create
a udev rules file for your test config which conforms to the
naming scheme.
2009-10-21 11:38:51 -07:00
Brian Behlendorf aa3069aea1 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-10-15 16:44:41 -07:00
Brian Behlendorf a09d33e929 Update build system for libblkid integration 2009-10-15 16:25:18 -07:00
Brian Behlendorf 18eee5d03f Fix sector size and capacity calculation.
Remove the hard coded 512 byte SECTOR_SIZE and replace it with
bdev_hardsect_size() to get the correct hardware sector size.

Usage of get_capacity() was incorrect.  We the block_device
references a partition we need to return bdev->part->nr_sects.
If get_capacity() is used the entire device size will be returned
ignoring partition information.  This is however the correct thing
to do when the block device in question has not partition table.
2009-10-14 16:02:51 -07:00
Brian Behlendorf 772839efe9 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-10-14 15:58:23 -07:00
Brian Behlendorf 085ed9fe82 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-10-14 15:57:10 -07:00
Brian Behlendorf cb678c0b31 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-10-14 15:57:09 -07:00
Brian Behlendorf 9ea3f53d0c Merge commit 'refs/top-bases/gcc-branch' into gcc-branch 2009-10-14 15:57:09 -07:00
Brian Behlendorf a8adb61c00 Merge branch 'gcc-ident-pragmas' into refs/top-bases/gcc-branch 2009-10-14 15:57:08 -07:00
Brian Behlendorf 09a8c99097 Additional build system update for libefi library.
This include updating all the Makefile.am to have the correct
include paths and libraries.  In addition, the zlib m4 macro was
updated to more correctly integrate with the Makefiles.  And I
added two new macros libblkid and libuuid which will be needed by
subsequent commits for blkid and uuid support respectively.  The
blkid support is optional, the uuid support is mandatory for libefi.
2009-10-14 15:47:41 -07:00
Brian Behlendorf 39d85a8b94 Remove pragmas from new libefi files. 2009-10-14 15:44:22 -07:00
Brian Behlendorf a1af33894c Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-10-09 16:43:21 -07:00
Brian Behlendorf cb91bbe6ce Additional set of build system tweaks for libefi library. 2009-10-09 16:37:32 -07:00
Brian Behlendorf e9a58f7148 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-10-09 16:09:22 -07:00
Brian Behlendorf a0337cfcd8 Add libefi library in to the build system. 2009-10-09 15:58:45 -07:00
Brian Behlendorf dca2a45b68 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-10-09 15:44:50 -07:00
Brian Behlendorf e0e0f0ea84 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-10-09 15:43:33 -07:00
Brian Behlendorf 2b2fd27e18 Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2009-10-09 15:43:32 -07:00
Brian Behlendorf ad0f8481d2 Merge commit 'refs/top-bases/feature-branch' into feature-branch 2009-10-09 15:43:31 -07:00
Brian Behlendorf b60766e22f Merge branch 'feature-pthreads' into refs/top-bases/feature-branch 2009-10-09 15:43:31 -07:00
Brian Behlendorf 7698515ec4 Merge commit 'refs/top-bases/feature-pthreads' into feature-pthreads 2009-10-09 15:43:30 -07:00
Brian Behlendorf 6df047f11f Merge commit 'refs/top-bases/feature-commit-cb' into feature-commit-cb 2009-10-09 15:43:30 -07:00
Brian Behlendorf 46fa16ed8c Merge branch 'feature-zap-cursor-to-key' into refs/top-bases/feature-branch 2009-10-09 15:43:28 -07:00
Brian Behlendorf 656d8f6b22 Merge commit 'refs/top-bases/feature-zap-cursor-to-key' into feature-zap-cursor-to-key 2009-10-09 15:43:28 -07:00
Brian Behlendorf 46b272f2c4 Merge branch 'fix-branch' into refs/top-bases/zfs-branch 2009-10-09 15:43:25 -07:00
Brian Behlendorf 1b7a8f5e26 Merge commit 'refs/top-bases/fix-branch' into fix-branch 2009-10-09 15:43:24 -07:00
Brian Behlendorf a4c68aa767 Merge branch 'fix-acl' into refs/top-bases/fix-branch 2009-10-09 15:43:23 -07:00
Brian Behlendorf 873470861e Merge commit 'refs/top-bases/fix-acl' into fix-acl 2009-10-09 15:43:23 -07:00
Brian Behlendorf 27c7573a5e Merge branch 'fix-deadcode' into refs/top-bases/fix-branch 2009-10-09 15:43:22 -07:00
Brian Behlendorf 6d3da13a7d Merge commit 'refs/top-bases/fix-deadcode' into fix-deadcode 2009-10-09 15:43:21 -07:00
Brian Behlendorf 00699175eb Merge branch 'fix-strncat' into refs/top-bases/fix-branch 2009-10-09 15:43:20 -07:00
Brian Behlendorf 69d396e7e0 Merge commit 'refs/top-bases/fix-strncat' into fix-strncat 2009-10-09 15:43:20 -07:00
Brian Behlendorf 3b18b22fb3 Merge branch 'fix-list' into refs/top-bases/fix-branch 2009-10-09 15:43:18 -07:00
Brian Behlendorf 38a311ac31 Merge commit 'refs/top-bases/fix-list' into fix-list 2009-10-09 15:43:18 -07:00