diff --git a/.topdeps b/.topdeps index 607c231780..7f16cbcdd5 100644 --- a/.topdeps +++ b/.topdeps @@ -1,3 +1 @@ -gcc-branch -fix-branch -feature-branch +zfs-branch diff --git a/.topmsg b/.topmsg index 03967cdff5..28f81782d4 100644 --- a/.topmsg +++ b/.topmsg @@ -1,19 +1,6 @@ From: Brian Behlendorf -Subject: [PATCH] zfs branch +Subject: [PATCH] linux have libefi -Merged result of all changes which are relevant to both Solaris -and Linux builds of the ZFS code. These are changes where there -is a reasonable chance they will be accepted upstream. - -Additionally, since this is effectively the root of the linux -ZFS tree the core linux build system is added here. This -includes autogen.sh, configure.ac, m4 macros, some scripts/*, -and makefiles for all the core ZFS components. Linux-only -features which require tweaks to the build system should appear -on the relevant topic branches. All autotools products which -result from autogen.sh are commited to the linux-configure-branch. - -This branch also contains the META, ChangeLog, AUTHORS, TODO, -and README, files. +Use libefi if HAVE_LIBEFI defined Signed-off-by: Brian Behlendorf diff --git a/cmd/zpool/zpool_vdev.c b/cmd/zpool/zpool_vdev.c index 9fa227c102..c82c7b3d18 100644 --- a/cmd/zpool/zpool_vdev.c +++ b/cmd/zpool/zpool_vdev.c @@ -360,6 +360,7 @@ check_file(const char *file, boolean_t force, boolean_t isspare) static boolean_t is_whole_disk(const char *arg) { +#ifdef HAVE_LIBEFI struct dk_gpt *label; int fd; char path[MAXPATHLEN]; @@ -375,6 +376,9 @@ is_whole_disk(const char *arg) efi_free(label); (void) close(fd); return (B_TRUE); +#else + return (B_FALSE); +#endif } /* @@ -884,6 +888,7 @@ check_replication(nvlist_t *config, nvlist_t *newroot) static int make_disks(zpool_handle_t *zhp, nvlist_t *nv) { +#ifdef HAVE_LIBEFI nvlist_t **child; uint_t c, children; char *type, *path, *diskname; @@ -971,7 +976,7 @@ make_disks(zpool_handle_t *zhp, nvlist_t *nv) for (c = 0; c < children; c++) if ((ret = make_disks(zhp, child[c])) != 0) return (ret); - +#endif return (0); } diff --git a/lib/libzfs/libzfs_pool.c b/lib/libzfs/libzfs_pool.c index a0b323cece..d5e9538096 100644 --- a/lib/libzfs/libzfs_pool.c +++ b/lib/libzfs/libzfs_pool.c @@ -46,8 +46,11 @@ #include "zfs_namecheck.h" #include "zfs_prop.h" #include "libzfs_impl.h" +#include "zfs_config.h" +#ifdef HAVE_LIBEFI static int read_efi_label(nvlist_t *config, diskaddr_t *sb); +#endif #if defined(__i386) || defined(__amd64) #define BOOTCMD "installgrub(1M)" @@ -338,6 +341,7 @@ bootfs_name_valid(const char *pool, char *bootfs) static boolean_t pool_uses_efi(nvlist_t *config) { +#ifdef HAVE_LIBEFI nvlist_t **child; uint_t c, children; @@ -349,6 +353,7 @@ pool_uses_efi(nvlist_t *config) if (pool_uses_efi(child[c])) return (B_TRUE); } +#endif return (B_FALSE); } @@ -2818,6 +2823,7 @@ zpool_obj_to_path(zpool_handle_t *zhp, uint64_t dsobj, uint64_t obj, */ #define NEW_START_BLOCK 256 +#ifdef HAVE_LIBEFI /* * Read the EFI label from the config, if a label does not exist then * pass back the error to the caller. If the caller has passed a non-NULL @@ -3106,3 +3112,4 @@ out: libzfs_fini(hdl); return (ret); } +#endif /* HAVE_LIBEFI */