Brian Behlendorf
69c211131d
Refresh autogen products
2009-10-15 16:46:45 -07:00
Brian Behlendorf
126f4128e2
Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch
2009-10-15 16:46:01 -07:00
Brian Behlendorf
295d45555e
Merge branch 'linux-user-disk' into refs/top-bases/linux-zfs-branch
2009-10-15 16:45:13 -07:00
Brian Behlendorf
48d1b0c5ab
Cleanly integrate ZFS tools with libblkid.
...
The majority of this this patch concerns itself with doing a direct
replacement of Solaris's libdiskmgt library with libblkid+libefi.
You'll notice that this patch removes all libdiskmgt code instead of
ifdef'ing it out. This was done to minimize any confusion when reading
the code because it seems unlikely we will ever port libdiskmgt to Linux.
Despite the replacement the behavior of the tools should have remained
the same with one exception. For the moment, we are unable to check
the partitions of devices which have an MBR style partition table when
creating a filesystem. If a non-efi partition sceme is detected on a
whole disk device we prompt the user to explicity use the force option.
It would not be a ton of work to make the tool aware of MBR style
partitions if this becomes a problem.
I've done basic sanity checking for various configurations and all
the issues I'm aware of have been addressed. Even things like blkid
misidentifing a disk as ext3 when it is added to a zfs pool. I'm
careful to always zero out the first 4k of any new zfs partition. That
all said this is all new code and while it looks like it's working right
for me we should keep an eye on it for any strange behavior.
2009-10-15 16:28:47 -07:00
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
2fd5a539e9
Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl
2009-10-09 16:44:27 -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
10cb050e20
Merge commit 'refs/top-bases/linux-legacy' into linux-legacy
2009-10-09 16:43:37 -07:00
Brian Behlendorf
bbe79ef2eb
Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol
2009-10-09 16:43:13 -07:00
Brian Behlendorf
97de984e0f
Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module
2009-10-09 16:42:51 -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
1365576b3e
Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl
2009-08-18 14:22:24 -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
a8b8cc4801
Merge commit 'refs/top-bases/linux-legacy' into linux-legacy
2009-08-18 14:21:10 -07:00
Brian Behlendorf
bc611acf53
Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol
2009-08-18 14:20:35 -07:00
Brian Behlendorf
ad97c53c74
Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module
2009-08-18 14:19:57 -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
6e43f5a80b
Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl
...
Conflicts:
module/zfs/rrwlock.c
module/zfs/zfs_ioctl.c
2009-08-18 12:59:17 -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
a1909790e4
Merge commit 'refs/top-bases/linux-legacy' into linux-legacy
2009-08-18 12:34:40 -07:00
Brian Behlendorf
b3561355b8
Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol
2009-08-18 12:33:54 -07:00
Brian Behlendorf
954484f75d
Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module
...
Conflicts:
module/zfs/dsl_dataset.c
module/zfs/spa_history.c
2009-08-18 12:32:53 -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
9dec42d15d
Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl
2009-07-31 14:06:28 -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
2c5abffc5f
Merge commit 'refs/top-bases/linux-legacy' into linux-legacy
2009-07-31 14:05:19 -07:00
Brian Behlendorf
e03d56f19c
Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol
2009-07-31 14:04:46 -07:00
Brian Behlendorf
8539aeef21
Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module
2009-07-31 14:04:15 -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
dbee607bbd
Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl
2009-07-29 21:31:26 -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
3decd9c0ee
Merge commit 'refs/top-bases/linux-legacy' into linux-legacy
2009-07-29 21:30:06 -07:00
Brian Behlendorf
9cdb618921
Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol
2009-07-29 21:29:28 -07:00
Brian Behlendorf
4f6e1daa09
Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module
2009-07-29 21:28:53 -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
cbb3788214
Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl
2009-07-24 09:19:34 -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
35b101b8d1
Merge commit 'refs/top-bases/linux-legacy' into linux-legacy
2009-07-24 09:18:29 -07:00
Brian Behlendorf
9b7658ca98
Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol
2009-07-24 09:17:54 -07:00
Brian Behlendorf
be0b3f923e
Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module
2009-07-24 09:17:21 -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
Brian Behlendorf
4edfcf44ec
Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
2009-07-24 09:15:59 -07:00
Brian Behlendorf
82ca18caae
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-07-24 09:15:56 -07:00
Brian Behlendorf
825c086a4e
Merge branch 'fix-branch' into refs/top-bases/zfs-branch
2009-07-24 09:15:55 -07:00
Brian Behlendorf
e4610d7991
Merge branch 'fix-get-configs' into refs/top-bases/fix-branch
2009-07-24 09:15:53 -07:00
Brian Behlendorf
1b4dfb80fb
Increase buffer size for nvlist for large configurations
...
It's still not clear to me why the default value here is large
enough Solaris. I hit this limit again when setting up 120 SATA
drives configured as 15 raidz2 groups each containing 8 drives.
We expect to go bigger so we may just want to spend a little
time and figure out how to make this all dynamic.
2009-07-24 08:53:18 -07:00
Brian Behlendorf
8feebe7d65
Refresh autogen products
2009-07-16 10:29:59 -07:00
Brian Behlendorf
1d69b5b3dc
Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch
2009-07-07 15:35:12 -07:00
Brian Behlendorf
15c4a8be0c
Merge branch 'linux-have-libefi' into refs/top-bases/linux-zfs-branch
2009-07-07 15:35:07 -07:00
Brian Behlendorf
31157f3a90
Disable zpool_relabel_disk() which requires libefi until we have it.
2009-07-07 15:26:39 -07:00
Brian Behlendorf
e5dab7929f
Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch
2009-07-07 15:07:42 -07:00
Brian Behlendorf
23e01e6cde
Merge branch 'linux-user-disk' into refs/top-bases/linux-zfs-branch
2009-07-07 15:07:37 -07:00
Brian Behlendorf
24402e5c15
Drop duplicate defines
2009-07-07 14:58:56 -07:00
Brian Behlendorf
ec881e8781
Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch
2009-07-07 14:50:45 -07:00
Brian Behlendorf
c35e61eea2
Merge branch 'linux-have-idmap' into refs/top-bases/linux-zfs-branch
2009-07-07 14:50:41 -07:00
Brian Behlendorf
04aa3d5ef9
Header aclutils.h only needed by idmap.
2009-07-07 14:41:19 -07:00
Brian Behlendorf
3997585b6f
Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch
2009-07-07 14:33:08 -07:00
Brian Behlendorf
678b02cd8e
Merge commit 'refs/top-bases/linux-have-idmap' into linux-have-idmap
2009-07-07 14:32:59 -07:00
Brian Behlendorf
78d7c67598
Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl
2009-07-07 14:32:34 -07:00
Brian Behlendorf
daebbab116
Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk
2009-07-07 14:31:41 -07:00
Brian Behlendorf
aa8600a1c2
Merge commit 'refs/top-bases/linux-legacy' into linux-legacy
2009-07-07 14:31:15 -07:00
Brian Behlendorf
acd26f0d75
Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol
2009-07-07 14:30:34 -07:00
Brian Behlendorf
315f906678
Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module
2009-07-07 14:29:57 -07:00