Commit Graph

2761 Commits

Author SHA1 Message Date
Brian Behlendorf 123728d9ae Merge commit 'refs/top-bases/gcc-ident-pragmas' into gcc-ident-pragmas 2009-11-15 16:26:23 -08:00
Brian Behlendorf bb4fcdc504 Merge branch 'gcc-64bit-constants' into refs/top-bases/gcc-branch 2009-11-15 16:26:21 -08:00
Brian Behlendorf 4f9acff2d8 Merge commit 'refs/top-bases/gcc-64bit-constants' into gcc-64bit-constants 2009-11-15 16:26:20 -08:00
Brian Behlendorf 7de12fa47e Merge branch 'gcc-shadow' into refs/top-bases/gcc-branch 2009-11-15 16:26:19 -08:00
Brian Behlendorf b5e7e8a1de Merge commit 'refs/top-bases/gcc-shadow' into gcc-shadow 2009-11-15 16:26:17 -08:00
Brian Behlendorf c79a602d88 Merge branch 'gcc-unused' into refs/top-bases/gcc-branch 2009-11-15 16:26:16 -08:00
Brian Behlendorf 26844cb8e1 Merge commit 'refs/top-bases/gcc-unused' into gcc-unused 2009-11-15 16:26:14 -08:00
Brian Behlendorf 9bb3ec458b Merge branch 'gcc-uninit' into refs/top-bases/gcc-branch 2009-11-15 16:26:13 -08:00
Brian Behlendorf 217998d1a3 Merge commit 'refs/top-bases/gcc-uninit' into gcc-uninit 2009-11-15 16:26:12 -08:00
Brian Behlendorf 0ba18e9310 Merge branch 'gcc-no-parenthesis' into refs/top-bases/gcc-branch 2009-11-15 16:26:09 -08:00
Brian Behlendorf ecdec2a90d Merge commit 'refs/top-bases/gcc-no-parenthesis' into gcc-no-parenthesis 2009-11-15 16:26:08 -08:00
Brian Behlendorf 21e5a5ee85 Merge branch 'gcc-missing-case' into refs/top-bases/gcc-branch 2009-11-15 16:26:06 -08:00
Brian Behlendorf 56d2a97b3b Merge commit 'refs/top-bases/gcc-missing-case' into gcc-missing-case 2009-11-15 16:26:05 -08:00
Brian Behlendorf a1bac081ee Merge branch 'gcc-invalid-prototype' into refs/top-bases/gcc-branch 2009-11-15 16:26:03 -08:00
Brian Behlendorf 109d34244d Merge commit 'refs/top-bases/gcc-invalid-prototype' into gcc-invalid-prototype 2009-11-15 16:26:02 -08:00
Brian Behlendorf 49468cacf3 Merge branch 'gcc-init-pragmas' into refs/top-bases/gcc-branch 2009-11-15 16:26:00 -08:00
Brian Behlendorf 8338a080a8 Merge commit 'refs/top-bases/gcc-init-pragmas' into gcc-init-pragmas 2009-11-15 16:25:59 -08:00
Brian Behlendorf a26d57f6f7 Merge branch 'gcc-debug' into refs/top-bases/gcc-branch 2009-11-15 16:25:57 -08:00
Brian Behlendorf 86737ffc6c Merge commit 'refs/top-bases/gcc-debug' into gcc-debug 2009-11-15 16:25:56 -08:00
Brian Behlendorf c2b8421841 Merge branch 'gcc-cast' into refs/top-bases/gcc-branch 2009-11-15 16:25:55 -08:00
Brian Behlendorf 9d03c28169 Merge commit 'refs/top-bases/gcc-cast' into gcc-cast 2009-11-15 16:25:53 -08:00
Brian Behlendorf d8aef5d7bc Merge branch 'gcc-c90' into refs/top-bases/gcc-branch 2009-11-15 16:25:52 -08:00
Brian Behlendorf 030d49c262 Merge commit 'refs/top-bases/gcc-c90' into gcc-c90 2009-11-15 16:25:50 -08:00
Brian Behlendorf 0aa61e8427 Remove zvol.c when updating in update-zfs.sh Linux version available. 2009-11-15 16:20:01 -08:00
Brian Behlendorf a29ea4d50f Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-11-12 12:55:48 -08:00
Brian Behlendorf 73fe782522 Use HAVE_BDEV_LOGICAL_BLOCK_SIZE compat marco in vdev_disk.
This is a 2.6.31 API change.
2009-11-12 12:51:16 -08:00
Brian Behlendorf 9ee04032de Linux 2.6.31 logical block size compatibility.
Autoconf check for bdev_logical_block_size() helper which replaced
bdev_hardsect_size() as the correct way to get the sector size.
2009-11-12 12:49:01 -08:00
Brian Behlendorf df41768ce6 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-11-02 15:09:44 -08:00
Brian Behlendorf a75cfcd5eb Add e2fsprogs patch for detecting ZFS uberblocks until it appears upstream. 2009-11-02 15:04:43 -08:00
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