Commit Graph

491 Commits

Author SHA1 Message Date
Brian Behlendorf 4a704a81ac Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2009-10-14 16:32:19 -07:00
Brian Behlendorf c4726e7ad2 Merge branch 'linux-user-disk' into refs/top-bases/linux-zfs-branch 2009-10-14 16:32:16 -07:00
Brian Behlendorf 992be351d5 Changes required to integrate libefi in to Linux.
The major change here is to fix up libefi to be linux aware.  For
the most part this wasn't too hard but there were a few major issues.

First off I needed to handle the DKIOCGMEDIAINFO and DKIOCINFO ioctls.
There is no direct equivilant for these ioctls under linux.  To handle
this I added wrapper functions which under Solaris simple call the ioctls.
But under Linux dig around the system a little bit getting the needed
info to fill in the requested structures.

Secondly the efi_ioctl() call was adapted such that under linux it directly
read or writes out the partition table.  Under Solaris this work was
handed off to the kernel via an ioctl.  In the efi_write() case we also
ensure we prompt the kernel via BLKRRPART to re-scan the new partition
table.  The libefi generated partition tables are correct but older
versions of ~parted-1.8.1 can not read them without a small patch.
The kernel and fdisk are able to read them just fine.

Thirdly efi_alloc_and_init() which is used by zpool to determine if a
device is a 'wholedisk' was updated to be linux aware.  This check is
performed by using the partition number for the device, which the
partition number is 0 on linux it is a 'wholedisk'.  However, certain
device type such as the loopback and ram disks needed to be excluded
because they do not support partitioning.

Forthly the zpool command was made symlink aware so it can correctly
resolve udev entries such as /dev/disk/by-*/*.  This symlinks are
fully expanded ensuring all block devices are recognized.  When a
when a 'wholedisk' block device is detected we now properly write
out an efi label and place zfs in the first partition (0th slice).
This partition is created 1MiB in to the disk to ensure it is aligned
nicely with all high end block devices I'm aware of.

This all works for me now but it did take quite a bit of work to get
it all sorted out.  It would not surprise me if certain special cases
were missed so we should keep any eye of for any odd behavior.
2009-10-14 16:07:48 -07:00
Brian Behlendorf d1e18d0e3b Refresh autogen products 2009-10-14 16:00:33 -07:00
Brian Behlendorf 00c6a706a5 Refresh autogen products 2009-10-09 16:46:19 -07:00
Brian Behlendorf 8dc5609e72 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2009-10-09 16:44:47 -07:00
Brian Behlendorf 81ec3f8951 Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2009-10-09 16:43:53 -07:00
Brian Behlendorf 8b6b31f3e4 Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2009-10-09 16:42:09 -07:00
Brian Behlendorf cb91bbe6ce Additional set of build system tweaks for libefi library. 2009-10-09 16:37:32 -07:00
Brian Behlendorf 0d8bb46b58 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2009-10-09 15:03:53 -07:00
Brian Behlendorf 6ef15db027 Merge branch 'linux-have-libefi' into refs/top-bases/linux-zfs-branch 2009-10-09 15:03:50 -07:00
Brian Behlendorf f73cff230f Reverting changes on linux-have-libefi topic branch. 2009-10-09 14:59:05 -07:00
Brian Behlendorf 92bb246ab4 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2009-08-18 14:22:55 -07:00
Brian Behlendorf 060284b353 Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2009-08-18 14:21:35 -07:00
Brian Behlendorf 87bdf80fb7 Merge commit 'refs/top-bases/linux-have-libefi' into linux-have-libefi 2009-08-18 14:19:13 -07:00
Brian Behlendorf 147adbe815 Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2009-08-18 14:18:40 -07:00
Brian Behlendorf e4b55cfbff Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-08-18 14:18:36 -07:00
Brian Behlendorf 5d83878f46 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-08-18 14:18:34 -07:00
Brian Behlendorf e134b976b6 Merge branch 'gcc-missing-braces' into refs/top-bases/gcc-branch 2009-08-18 14:18:33 -07:00
Brian Behlendorf b29c1f87a0 Required build 121 updates for gcc-missing-braces 2009-08-18 14:08:46 -07:00
Brian Behlendorf ae556c9174 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2009-08-18 13:01:34 -07:00
Brian Behlendorf 8b02e1a43f Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2009-08-18 12:35:12 -07:00
Brian Behlendorf 2d067983d6 Merge commit 'refs/top-bases/linux-have-libefi' into linux-have-libefi 2009-08-18 12:29:48 -07:00
Brian Behlendorf c67303e092 Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch
Conflicts:

	lib/libzfs/libzfs_dataset.c
	module/zfs/dsl_dataset.c
	module/zfs/rrwlock.c
	module/zfs/spa_history.c
	module/zfs/zfs_ioctl.c
2009-08-18 12:26:09 -07:00
Brian Behlendorf 50c623ccef Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-08-18 12:10:55 -07:00
Brian Behlendorf b99b422796 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-08-18 12:08:58 -07:00
Brian Behlendorf 41b297a27f Merge commit 'refs/top-bases/gcc-missing-braces' into gcc-missing-braces 2009-08-18 12:08:46 -07:00
Brian Behlendorf e5e4fadc34 Merge branch 'gcc-c90' into refs/top-bases/gcc-branch
Conflicts:

	module/zfs/dmu.c
	module/zfs/dsl_deleg.c
	module/zfs/rrwlock.c
	module/zfs/vdev_raidz.c
2009-08-18 12:04:53 -07:00
Brian Behlendorf 45d1cae3b8 Rebase master to b121 2009-08-18 11:43:27 -07:00
Brian Behlendorf 1f8a43f7a2 Refresh autogen products 2009-08-17 21:58:33 -07:00
Brian Behlendorf 298cd19823 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2009-07-31 14:06:56 -07:00
Brian Behlendorf 21dee98331 Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2009-07-31 14:05:42 -07:00
Brian Behlendorf 744f29654f Merge commit 'refs/top-bases/linux-have-libefi' into linux-have-libefi 2009-07-31 14:03:32 -07:00
Brian Behlendorf 4880532956 Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2009-07-31 14:02:54 -07:00
Brian Behlendorf 9f5e45ef4d Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-31 14:02:49 -07:00
Brian Behlendorf cf44f97b96 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-07-31 14:02:48 -07:00
Brian Behlendorf 252846a145 Merge branch 'gcc-shadow' into refs/top-bases/gcc-branch 2009-07-31 14:02:46 -07:00
Brian Behlendorf cfd9e9936f Fix an accidentally introduced formatting issue in zfs output.
Because the local 'index' variable shadows the index() function
it was replaced by 'i'.  Unfortunately when I made this change
I accidentally replaced one instance with 'j' resulting in the
short decimal values being printed incorrectly.
2009-07-31 13:50:21 -07:00
Brian Behlendorf b50f09fa80 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2009-07-29 21:31:59 -07:00
Brian Behlendorf 54f3881f7a Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2009-07-29 21:30:36 -07:00
Brian Behlendorf d29bbc0642 Merge commit 'refs/top-bases/linux-have-libefi' into linux-have-libefi 2009-07-29 21:28:05 -07:00
Brian Behlendorf 640e02d051 Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2009-07-29 21:27:17 -07:00
Brian Behlendorf 2d86fb2788 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-29 21:27:13 -07:00
Brian Behlendorf e2bbeb5e61 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-07-29 21:27:06 -07:00
Brian Behlendorf f80c505f4d Merge branch 'gcc-uninit' into refs/top-bases/gcc-branch 2009-07-29 21:27:04 -07:00
Brian Behlendorf 72d2035ed3 Updated gcc in fc11 flagged a new uninitialized variable. 2009-07-29 21:17:47 -07:00
Brian Behlendorf 535dab57d2 Refresh autogen products. 2009-07-29 17:54:49 -07:00
Brian Behlendorf dba29a5097 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2009-07-24 09:20:01 -07:00
Brian Behlendorf 8f1db6316f Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2009-07-24 09:18:50 -07:00
Brian Behlendorf fe9f4bdd27 Merge commit 'refs/top-bases/linux-have-libefi' into linux-have-libefi 2009-07-24 09:16:41 -07:00