Commit Graph

1694 Commits

Author SHA1 Message Date
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 553e366ce5 Merge branch 'linux-libspl' into refs/top-bases/linux-zfs-branch 2009-10-14 16:54:42 -07:00
Brian Behlendorf 22925be29c Add in missing header required by libefi. 2009-10-14 16:50:26 -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 c56b485f66 Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-10-14 15:59:26 -07:00
Brian Behlendorf 9e729be801 Merge commit 'refs/top-bases/linux-unused' into linux-unused 2009-10-14 15:59:18 -07:00
Brian Behlendorf f4f805a70e Merge branch 'linux-libspl' into refs/top-bases/linux-zfs-branch 2009-10-14 15:59:13 -07:00
Brian Behlendorf 84ed1fee34 Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2009-10-14 15:59:11 -07:00
Brian Behlendorf 245e7692f7 Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2009-10-14 15:58:55 -07:00
Brian Behlendorf b75b8901fe Merge commit 'refs/top-bases/linux-legacy' into linux-legacy 2009-10-14 15:58:39 -07:00
Brian Behlendorf 1c4a603c81 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-10-14 15:58:31 -07:00
Brian Behlendorf 3cbe396819 Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-10-14 15:58:16 -07:00
Brian Behlendorf 35e54ecb43 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-10-14 15:57:55 -07:00
Brian Behlendorf ae4e1bef0f Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-10-14 15:57:54 -07:00
Brian Behlendorf db77dd0e60 Merge commit 'refs/top-bases/linux-have-mntent' into linux-have-mntent 2009-10-14 15:57:34 -07:00
Brian Behlendorf aa587c8437 Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2009-10-14 15:57:13 -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 a8adb61c00 Merge branch 'gcc-ident-pragmas' into refs/top-bases/gcc-branch 2009-10-14 15:57:08 -07:00
Brian Behlendorf 8a905e7dcc Update vtoc.h header and add missing mhd.h header needed by libefi. 2009-10-14 15:52:24 -07:00
Brian Behlendorf 39d85a8b94 Remove pragmas from new libefi files. 2009-10-14 15:44:22 -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 2f001ab9ea Merge commit 'refs/top-bases/linux-unused' into linux-unused 2009-10-09 16:44:19 -07:00
Brian Behlendorf 9fb47da60f Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2009-10-09 16:44:10 -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 7d9b89f749 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-10-09 16:43:29 -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 3811cc77d6 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-10-09 16:42:52 -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 0af48bcf91 Merge commit 'refs/top-bases/linux-have-mntent' into linux-have-mntent 2009-10-09 16:42:31 -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 cae4a99504 Merge branch 'linux-libspl' into refs/top-bases/linux-zfs-branch 2009-10-09 16:23:13 -07:00
Brian Behlendorf d7e242199c Header efi_partition.h moved to lib/libefi/include/sys/ 2009-10-09 16:18:39 -07:00
Brian Behlendorf caed68da36 Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-10-09 16:13:11 -07:00
Brian Behlendorf 3b62dfad5c Merge commit 'refs/top-bases/linux-unused' into linux-unused 2009-10-09 16:13:03 -07:00
Brian Behlendorf fc2213dfac Merge commit 'refs/top-bases/linux-libspl' into linux-libspl
Conflicts:

	lib/Makefile.am
2009-10-09 16:12:49 -07:00
Brian Behlendorf 7c073d0a7d Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2009-10-09 16:09:54 -07:00
Brian Behlendorf 2001a56428 Merge commit 'refs/top-bases/linux-legacy' into linux-legacy 2009-10-09 16:09:38 -07:00
Brian Behlendorf 040e6c020f Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-10-09 16:09:30 -07:00
Brian Behlendorf f0e7c21dfc Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-10-09 16:09:14 -07:00
Brian Behlendorf 8ca9436915 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-10-09 16:08:53 -07:00
Brian Behlendorf 60f818719c Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-10-09 16:08:52 -07:00
Brian Behlendorf 1167bd1a6e Merge commit 'refs/top-bases/linux-have-mntent' into linux-have-mntent 2009-10-09 16:08:32 -07:00
Brian Behlendorf a740d2a8f7 Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch
Conflicts:

	lib/Makefile.am
2009-10-09 16:06:51 -07:00
Brian Behlendorf a0337cfcd8 Add libefi library in to the build system. 2009-10-09 15:58:45 -07:00
Brian Behlendorf c3b45fe669 Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-10-09 15:45:55 -07:00
Brian Behlendorf a4665e8ed8 Merge commit 'refs/top-bases/linux-unused' into linux-unused 2009-10-09 15:45:46 -07:00
Brian Behlendorf 746882c100 Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2009-10-09 15:45:38 -07:00
Brian Behlendorf 503c5eeb2d Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2009-10-09 15:45:22 -07:00
Brian Behlendorf 9a76c49ee6 Merge commit 'refs/top-bases/linux-legacy' into linux-legacy 2009-10-09 15:45:06 -07:00
Brian Behlendorf 6e242e97ab Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-10-09 15:44:58 -07:00
Brian Behlendorf 1e8929d87f Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-10-09 15:44:42 -07:00
Brian Behlendorf 84c609e202 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-10-09 15:44:20 -07:00
Brian Behlendorf 699f996fde Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-10-09 15:44:19 -07:00
Brian Behlendorf 5ae21ec0c5 Merge commit 'refs/top-bases/linux-have-mntent' into linux-have-mntent 2009-10-09 15:43:59 -07:00
Brian Behlendorf 90b0761a16 Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2009-10-09 15:43:37 -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 7698515ec4 Merge commit 'refs/top-bases/feature-pthreads' into feature-pthreads 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 1af5dcae21 Merge commit 'refs/top-bases/fix-get-configs' into fix-get-configs 2009-10-09 15:43:08 -07:00
Brian Behlendorf 5fc177d934 Merge branch 'fix-clock-wrap' into refs/top-bases/fix-branch 2009-10-09 15:43:00 -07:00
Brian Behlendorf 9302f90662 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-10-09 15:42:56 -07:00
Brian Behlendorf c7b65bad15 Merge commit 'refs/top-bases/gcc-missing-braces' into gcc-missing-braces 2009-10-09 15:42:51 -07:00
Brian Behlendorf 926a2e3cc4 Merge commit 'refs/top-bases/gcc-ident-pragmas' into gcc-ident-pragmas 2009-10-09 15:42:48 -07:00
Brian Behlendorf bbdc4a3fcc Merge commit 'refs/top-bases/gcc-shadow' into gcc-shadow 2009-10-09 15:42:42 -07:00
Brian Behlendorf 8a9880d6fb Merge commit 'refs/top-bases/gcc-no-parenthesis' into gcc-no-parenthesis 2009-10-09 15:42:33 -07:00
Brian Behlendorf 05aabf4bea Merge commit 'refs/top-bases/gcc-cast' into gcc-cast 2009-10-09 15:42:18 -07:00
Brian Behlendorf 3728b6d9c1 Merge branch 'gcc-c90' into refs/top-bases/gcc-branch 2009-10-09 15:42:16 -07:00
Brian Behlendorf 1b0e5a1485 Merge commit 'refs/top-bases/gcc-c90' into gcc-c90 2009-10-09 15:42:15 -07:00
Brian Behlendorf 5c36312909 Script update-zfs.sh updated to include libefi library 2009-10-09 15:37:29 -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 1365576b3e Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-08-18 14:22:24 -07:00
Brian Behlendorf 5784c67072 Merge commit 'refs/top-bases/linux-unused' into linux-unused 2009-08-18 14:22:11 -07:00
Brian Behlendorf 547471e842 Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2009-08-18 14:22:00 -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 1c5a67a320 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-08-18 14:20:58 -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 5edf1e174e Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-08-18 14:19:58 -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 2d5d5fbc92 Merge commit 'refs/top-bases/linux-have-mntent' into linux-have-mntent 2009-08-18 14:19:25 -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 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 90e41b3d78 Merge commit 'refs/top-bases/linux-unused' into linux-unused 2009-08-18 12:35:58 -07:00
Brian Behlendorf 3e17f18dcc Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2009-08-18 12:35:43 -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 5f0eb517cf Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-08-18 12:34:24 -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 c9519311a3 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-08-18 12:33:10 -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 df5482e65d Merge commit 'refs/top-bases/linux-have-mntent' into linux-have-mntent 2009-08-18 12:30:04 -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 8aab887b7c Merge commit 'refs/top-bases/feature-pthreads' into feature-pthreads 2009-08-18 12:10:47 -07:00
Brian Behlendorf bfbac5daec Merge branch 'feature-zap-cursor-to-key' into refs/top-bases/feature-branch 2009-08-18 12:10:38 -07:00
Brian Behlendorf b3ea816a68 Merge commit 'refs/top-bases/fix-get-configs' into fix-get-configs 2009-08-18 12:09:36 -07:00
Brian Behlendorf d205b25a74 Merge branch 'fix-clock-wrap' into refs/top-bases/fix-branch 2009-08-18 12:09:10 -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 abd8fdb94f Merge commit 'refs/top-bases/gcc-ident-pragmas' into gcc-ident-pragmas
Conflicts:

	module/zfs/dsl_deleg.c
	module/zfs/rrwlock.c
2009-08-18 12:08:36 -07:00
Brian Behlendorf db89339134 Merge commit 'refs/top-bases/gcc-shadow' into gcc-shadow
Conflicts:

	module/zfs/dmu.c
2009-08-18 12:07:23 -07:00
Brian Behlendorf 481225606c Merge commit 'refs/top-bases/gcc-no-parenthesis' into gcc-no-parenthesis 2009-08-18 12:05:39 -07:00
Brian Behlendorf 9e903015fd Merge commit 'refs/top-bases/gcc-cast' into gcc-cast 2009-08-18 12:05:07 -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 0f80e41c89 Merge commit 'refs/top-bases/gcc-c90' into gcc-c90
Conflicts:

	module/zfs/spa_misc.c
	module/zfs/vdev_label.c
2009-08-18 11:55:36 -07:00
Brian Behlendorf 45d1cae3b8 Rebase master to b121 2009-08-18 11:43:27 -07:00
Brian Behlendorf 0803564cbe Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-08-04 15:58:39 -07:00
Brian Behlendorf 628a3cb70d Merge commit 'refs/top-bases/linux-unused' into linux-unused 2009-08-04 15:58:25 -07:00
Brian Behlendorf 1dd0a6bab1 Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2009-08-04 15:58:13 -07:00
Brian Behlendorf 4eae170dc5 Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2009-08-04 15:57:44 -07:00
Brian Behlendorf 20b364b7aa Merge commit 'refs/top-bases/linux-legacy' into linux-legacy 2009-08-04 15:57:17 -07:00
Brian Behlendorf 4b1d370e4f Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-08-04 15:57:03 -07:00
Brian Behlendorf 1bfe0d5177 Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-08-04 15:56:36 -07:00
Brian Behlendorf a7a6539d95 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-08-04 15:55:57 -07:00
Brian Behlendorf 56204aacac Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-08-04 15:55:55 -07:00
Brian Behlendorf 295499a5b0 Merge commit 'refs/top-bases/linux-have-mntent' into linux-have-mntent 2009-08-04 15:55:18 -07:00
Brian Behlendorf e86a0e8ad1 Merge commit 'refs/top-bases/linux-have-libefi' into linux-have-libefi 2009-08-04 15:55:06 -07:00
Brian Behlendorf 72fc3eca7e Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2009-08-04 15:54:25 -07:00
Brian Behlendorf f88cbd6535 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-08-04 15:54:21 -07:00
Brian Behlendorf 8c28ed9bff Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2009-08-04 15:54:19 -07:00
Brian Behlendorf 7069d048a0 Revert kthreads based on pthread thread specific data due to failure.
With this patch applied I get the following failure 100% of the time,
I'd prefer to debug it and keep moving forward but I do not have the
time right now so I'm reverting the patch to the version which worked.
Ricardo please fix.

(gdb) bt
0  ztest_dmu_write_parallel (za=0x2aaaac898960) at
../../cmd/ztest/ztest.c:2566
1  0x0000000000405a79 in ztest_thread (arg=<value optimized out>)
    at ../../cmd/ztest/ztest.c:3862
2  0x00002b2e6a7a841d in zk_thread_helper (arg=<value optimized out>)
    at ../../lib/libzpool/kernel.c:131
3  0x000000379be06367 in start_thread (arg=<value optimized out>)
    at pthread_create.c:297
4  0x000000379b2d30ad in clone () from /lib64/libc.so.6
2009-08-04 15:42:24 -07:00
Brian Behlendorf ca59cc5c82 Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-08-04 14:43:29 -07:00
Brian Behlendorf 2f81fca007 Merge commit 'refs/top-bases/linux-unused' into linux-unused 2009-08-04 14:43:14 -07:00
Brian Behlendorf 5cc3f79553 Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2009-08-04 14:43:02 -07:00
Brian Behlendorf 94fd6b5326 Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2009-08-04 14:42:33 -07:00
Brian Behlendorf cffdc20142 Merge commit 'refs/top-bases/linux-legacy' into linux-legacy 2009-08-04 14:42:07 -07:00
Brian Behlendorf b324dc7fd5 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-08-04 14:41:52 -07:00
Brian Behlendorf d160703a9c Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-08-04 14:41:26 -07:00
Brian Behlendorf 37f263f244 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-08-04 14:40:50 -07:00
Brian Behlendorf ed3e845798 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-08-04 14:40:48 -07:00
Brian Behlendorf 65d7bfc8b3 Merge commit 'refs/top-bases/linux-have-mntent' into linux-have-mntent 2009-08-04 14:40:08 -07:00
Brian Behlendorf 4576ca6889 Merge commit 'refs/top-bases/linux-have-libefi' into linux-have-libefi 2009-08-04 14:39:53 -07:00
Brian Behlendorf 139ca4655e Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2009-08-04 14:39:11 -07:00
Brian Behlendorf 3e5388907b Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-08-04 14:39:07 -07:00
Brian Behlendorf 9aedfd95f6 Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2009-08-04 14:39:06 -07:00
Ricardo M. Correia c0ce3b40f2 Reimplement user kthreads based on pthread thread specific data.
This resolves previous scalabily concerns about the cost of calling
curthread which previously required a list walk.  The kthread address
is now tracked as thread specific data which can be quickly returned.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2009-08-04 13:55:15 -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 5dabe4705a Merge commit 'refs/top-bases/linux-unused' into linux-unused 2009-07-31 14:06:16 -07:00
Brian Behlendorf 0c20001d27 Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2009-07-31 14:06:05 -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 fbbffb3a8e Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-07-31 14:05:08 -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 7e865a3fb0 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-07-31 14:04:16 -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 3f4eb7aad6 Merge commit 'refs/top-bases/linux-have-mntent' into linux-have-mntent 2009-07-31 14:03:44 -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 dbee607bbd Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-07-29 21:31:26 -07:00
Brian Behlendorf 2dba5ffe69 Merge commit 'refs/top-bases/linux-unused' into linux-unused 2009-07-29 21:31:13 -07:00
Brian Behlendorf d6bde0ec4f Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2009-07-29 21:31:02 -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 0c78bb26e7 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-07-29 21:29:53 -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 7abfa06507 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-07-29 21:28:55 -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 402d41bc4a Merge commit 'refs/top-bases/linux-have-mntent' into linux-have-mntent 2009-07-29 21:28:19 -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 484b3af49f Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-07-24 11:17:33 -07:00
Brian Behlendorf cab31f3317 Merge commit 'refs/top-bases/linux-unused' into linux-unused 2009-07-24 11:17:19 -07:00
Brian Behlendorf f86aa17c6c Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2009-07-24 11:17:09 -07:00
Brian Behlendorf 278a36455f Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2009-07-24 11:15:55 -07:00
Brian Behlendorf bcaad6c266 Merge commit 'refs/top-bases/linux-legacy' into linux-legacy 2009-07-24 11:15:29 -07:00
Brian Behlendorf 5d9870a0e9 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-07-24 11:15:19 -07:00
Brian Behlendorf a9ffd4b53b Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-07-24 11:14:53 -07:00
Brian Behlendorf 03eba682e0 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-07-24 11:14:24 -07:00
Brian Behlendorf 35cd8cd997 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-07-24 11:14:23 -07:00
Brian Behlendorf 9f0d45a1fa Merge commit 'refs/top-bases/linux-have-mntent' into linux-have-mntent 2009-07-24 11:13:53 -07:00
Brian Behlendorf 937dfea552 Merge commit 'refs/top-bases/linux-have-libefi' into linux-have-libefi 2009-07-24 11:13:42 -07:00
Brian Behlendorf 430d6004e5 Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
Conflicts:

	scripts/Makefile.am
2009-07-24 11:10:21 -07:00
Brian Behlendorf db3967ba86 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-24 11:08:43 -07:00
Brian Behlendorf 9a2275c1c5 Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2009-07-24 11:08:42 -07:00
Ricardo M. Correia 51760e3c7e Change VERIFY() into VERIFY3U() when creating threads in ztest, so that we can see the return code when it fails.
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2009-07-24 11:00:23 -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 c24f3b11a2 Merge commit 'refs/top-bases/linux-unused' into linux-unused 2009-07-24 09:19:24 -07:00
Brian Behlendorf a65ba1acc5 Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2009-07-24 09:19:12 -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