Commit Graph

129 Commits

Author SHA1 Message Date
Brian Behlendorf c1b4a1ef92 Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2009-10-15 16:43:40 -07:00
Brian Behlendorf a09d33e929 Update build system for libblkid integration 2009-10-15 16:25:18 -07:00
Brian Behlendorf 702a78ed33 Merge branch 'linux-have-libdiskmgt' into refs/top-bases/linux-zfs-branch 2009-10-15 09:38:51 -07:00
Brian Behlendorf 172ca0a7f1 Remove topic branch linux-have-libdiskmgt 2009-10-15 09:34:17 -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 245e7692f7 Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2009-10-14 15:58:55 -07:00
Brian Behlendorf 293fe80262 Merge commit 'refs/top-bases/linux-have-libdiskmgt' into linux-have-libdiskmgt 2009-10-14 15:57:27 -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 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 81ec3f8951 Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2009-10-09 16:43:53 -07:00
Brian Behlendorf c4dff3c807 Merge commit 'refs/top-bases/linux-have-libdiskmgt' into linux-have-libdiskmgt 2009-10-09 16:42:23 -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 7c073d0a7d Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2009-10-09 16:09:54 -07:00
Brian Behlendorf 2fbcf94bce Merge commit 'refs/top-bases/linux-have-libdiskmgt' into linux-have-libdiskmgt 2009-10-09 16:08:24 -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 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 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 f301459f0e Merge commit 'refs/top-bases/linux-have-libdiskmgt' into linux-have-libdiskmgt 2009-08-18 12:29:32 -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 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 409cfe5051 Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk
Conflicts:

	lib/libzfs/libzfs_pool.c
2009-07-06 15:05:47 -07:00
Brian Behlendorf 053043b2d0 Merge commit 'refs/top-bases/linux-have-libefi' into linux-have-libefi
Conflicts:

	lib/libzfs/libzfs_pool.c
2009-07-06 13:44:19 -07:00
Brian Behlendorf a33c6c25d2 Merge commit 'refs/top-bases/linux-have-libdiskmgt' into linux-have-libdiskmgt 2009-07-06 13:43:22 -07:00
Brian Behlendorf 149c4b2731 Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
Conflicts:

	cmd/ztest/ztest.c
	lib/libzfs/libzfs_pool.c
	module/zcommon/zfs_namecheck.c
	module/zfs/dmu.c
	module/zfs/include/sys/dmu.h
	module/zfs/include/sys/zfs_fuid.h
	module/zfs/spa.c
	module/zfs/vdev.c
	module/zfs/zap_micro.c
	module/zfs/zfs_fuid.c
	module/zfs/zfs_ioctl.c
	module/zfs/zfs_vfsops.c
	module/zfs/zfs_znode.c
2009-07-06 13:40:29 -07:00
Brian Behlendorf 658459249e Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-06 13:17:28 -07:00
Brian Behlendorf a1ccb00b7e Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
Conflicts:

	cmd/ztest/ztest.c
	module/zfs/zil.c
2009-07-06 13:11:34 -07:00
Brian Behlendorf e2b2597751 Merge branch 'gcc-c90' into refs/top-bases/gcc-branch
Conflicts:

	cmd/zdb/zdb_il.c
	cmd/zfs/zfs_main.c
	cmd/zinject/zinject.c
	cmd/ztest/ztest.c
	lib/libzfs/libzfs_dataset.c
	lib/libzfs/libzfs_graph.c
	module/zcommon/include/sys/fm/fs/zfs.h
	module/zcommon/include/zfs_deleg.h
	module/zcommon/include/zfs_namecheck.h
	module/zcommon/zfs_deleg.c
	module/zcommon/zfs_namecheck.c
	module/zcommon/zprop_common.c
	module/zfs/arc.c
	module/zfs/dmu.c
	module/zfs/dmu_object.c
	module/zfs/dmu_objset.c
	module/zfs/dsl_pool.c
	module/zfs/dsl_prop.c
	module/zfs/fletcher.c
	module/zfs/include/sys/dsl_deleg.h
	module/zfs/include/sys/dsl_prop.h
	module/zfs/include/sys/metaslab_impl.h
	module/zfs/include/sys/spa_boot.h
	module/zfs/include/sys/zap.h
	module/zfs/include/sys/zap_impl.h
	module/zfs/include/sys/zfs_context.h
	module/zfs/include/sys/zfs_ctldir.h
	module/zfs/include/sys/zfs_dir.h
	module/zfs/include/sys/zfs_fuid.h
	module/zfs/include/sys/zfs_ioctl.h
	module/zfs/spa.c
	module/zfs/spa_errlog.c
	module/zfs/spa_history.c
	module/zfs/zap.c
	module/zfs/zap_leaf.c
	module/zfs/zap_micro.c
	module/zfs/zfs_ioctl.c
	module/zfs/zio.c
2009-07-02 16:49:11 -07:00
Brian Behlendorf 9babb37438 Rebase master to b117 2009-07-02 15:44:48 -07:00
Brian Behlendorf 10e245f03f Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk
Conflicts:
	cmd/zpool/zpool_main.c
2009-03-16 10:42:20 -07:00
Brian Behlendorf e98228ab73 Merge commit 'refs/top-bases/linux-have-libefi' into linux-have-libefi 2009-03-16 10:39:08 -07:00
Brian Behlendorf dbbb5c2e4e Merge commit 'refs/top-bases/linux-have-libdiskmgt' into linux-have-libdiskmgt 2009-03-16 10:38:52 -07:00
Brian Behlendorf c9cff73d9e Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
Conflicts:
	cmd/zpool/zpool_main.c
2009-03-16 10:32:12 -07:00
Brian Behlendorf be112b3f57 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-03-16 10:30:31 -07:00
Brian Behlendorf 5ee8a85ba6 Merge branch 'fix-branch' into refs/top-bases/zfs-branch 2009-03-16 10:30:27 -07:00
Brian Behlendorf 2924858552 Remove two self referential functions.
Newer versions of gcc (4.3.0) detected the following unused
code segments.
2009-03-16 10:02:06 -07:00
Brian Behlendorf fbbb5fe669 Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2009-03-12 10:40:09 -07:00
Brian Behlendorf 45f3d2a2a4 Merge commit 'refs/top-bases/linux-have-libefi' into linux-have-libefi 2009-03-12 10:38:05 -07:00
Brian Behlendorf 5f9ae91a8a Merge commit 'refs/top-bases/linux-have-libdiskmgt' into linux-have-libdiskmgt 2009-03-12 10:37:50 -07:00
Brian Behlendorf 9bdbd7c8f7 Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2009-03-12 10:37:18 -07:00
Brian Behlendorf b9b399bf04 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-03-12 10:37:14 -07:00
Brian Behlendorf f8fe8a76f4 Merge branch 'gcc-uninit' into refs/top-bases/gcc-branch 2009-03-12 10:37:11 -07:00
Brian Behlendorf cabd4a69c4 Resolve remaining uninitialized variables
Most of these fixes appear to be harmless and should never occur.
However, there were a few cases in this patch which do concern me,
I doubt we're seeing them but they look possible... mainly in the
user tools.
2009-03-12 10:30:41 -07:00