diff options
Diffstat (limited to 'sys-block/parted/files/parted-3.1-zfs.patch')
-rw-r--r-- | sys-block/parted/files/parted-3.1-zfs.patch | 170 |
1 files changed, 0 insertions, 170 deletions
diff --git a/sys-block/parted/files/parted-3.1-zfs.patch b/sys-block/parted/files/parted-3.1-zfs.patch deleted file mode 100644 index a87d6d346551..000000000000 --- a/sys-block/parted/files/parted-3.1-zfs.patch +++ /dev/null @@ -1,170 +0,0 @@ -commit 65f838008107a688751dd5a2753c9073e9353daf -Author: root <root@desktop.(none)> -Date: Fri Jun 1 16:26:34 2012 -0400 - - Add ZFS Support - -diff --git a/libparted/fs/Makefile.am b/libparted/fs/Makefile.am -index 8d48ea1..51b4151 100644 ---- a/libparted/fs/Makefile.am -+++ b/libparted/fs/Makefile.am -@@ -49,7 +49,8 @@ libfs_la_SOURCES = \ - xfs/platform_defs.h \ - xfs/xfs.c \ - xfs/xfs_sb.h \ -- xfs/xfs_types.h -+ xfs/xfs_types.h \ -+ zfs/zfs.c - - lib_LTLIBRARIES = libparted-fs-resize.la - -diff --git a/libparted/fs/Makefile.in b/libparted/fs/Makefile.in -index 4335eb1..e3a134b 100644 ---- a/libparted/fs/Makefile.in -+++ b/libparted/fs/Makefile.in -@@ -1112,7 +1112,8 @@ libfs_la_SOURCES = \ - xfs/platform_defs.h \ - xfs/xfs.c \ - xfs/xfs_sb.h \ -- xfs/xfs_types.h -+ xfs/xfs_types.h \ -+ zfs/zfs.c - - lib_LTLIBRARIES = libparted-fs-resize.la - EXTRA_DIST = hfs/DOC hfs/HISTORY hfs/TODO fsresize.sym -diff --git a/libparted/fs/zfs/Makefile.am b/libparted/fs/zfs/Makefile.am -new file mode 100644 -index 0000000..3273c6a ---- /dev/null -+++ b/libparted/fs/zfs/zfs.c -@@ -0,0 +1,81 @@ -+/* -+ libparted - a library for manipulating disk partitions -+ Copyright (C) 2000, 2007, 2009-2010 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see <http://www.gnu.org/licenses/>. -+*/ -+ -+#include <config.h> -+ -+#include <parted/parted.h> -+#include <parted/endian.h> -+ -+#if ENABLE_NLS -+# include <libintl.h> -+# define _(String) dgettext (PACKAGE, String) -+#else -+# define _(String) (String) -+#endif /* ENABLE_NLS */ -+ -+#include <unistd.h> -+ -+#define ZFS_BLOCK_SIZES ((int[2]){512, 0}) -+ -+#define ZFS_SIGNATURE 0x00bab10c -+ -+struct zfs_uberblock -+{ -+ uint64_t signature; -+ uint64_t version; -+}; -+ -+static PedGeometry* -+zfs_probe (PedGeometry* geom) -+{ -+ uint8_t buf[512]; -+ struct zfs_uberblock *uber = (void *) buf; -+ -+ if (!ped_geometry_read (geom, buf, 256, 1)) -+ return 0; -+ -+ if ((le64toh (uber->signature) == ZFS_SIGNATURE -+ || be64toh (uber->signature) == ZFS_SIGNATURE) -+ && uber->version != 0) -+ return ped_geometry_new (geom->dev, geom->start, geom->length); -+ else -+ return NULL; -+} -+ -+static PedFileSystemOps zfs_ops = { -+ probe: zfs_probe, -+}; -+ -+static PedFileSystemType zfs_type = { -+ next: NULL, -+ ops: &zfs_ops, -+ name: "zfs", -+ block_sizes: ZFS_BLOCK_SIZES -+}; -+ -+void -+ped_file_system_zfs_init () -+{ -+ ped_file_system_type_register (&zfs_type); -+} -+ -+void -+ped_file_system_zfs_done () -+{ -+ ped_file_system_type_unregister (&zfs_type); -+} -diff --git a/libparted/libparted.c b/libparted/libparted.c -index a6d86f0..6545989 100644 ---- a/libparted/libparted.c -+++ b/libparted/libparted.c -@@ -109,6 +109,7 @@ extern void ped_file_system_hfs_init (void); - extern void ped_file_system_fat_init (void); - extern void ped_file_system_ext2_init (void); - extern void ped_file_system_nilfs2_init (void); -+extern void ped_file_system_zfs_init (void); - - static void - init_file_system_types () -@@ -124,6 +125,7 @@ init_file_system_types () - ped_file_system_fat_init (); - ped_file_system_ext2_init (); - ped_file_system_nilfs2_init (); -+ ped_file_system_zfs_init (); - } - - extern void ped_disk_aix_done (); -@@ -186,6 +188,7 @@ extern void ped_file_system_reiserfs_done (void); - extern void ped_file_system_ufs_done (void); - extern void ped_file_system_xfs_done (void); - extern void ped_file_system_amiga_done (void); -+extern void ped_file_system_zfs_done (void); - - static void - done_file_system_types () -@@ -201,6 +204,7 @@ done_file_system_types () - ped_file_system_ufs_done (); - ped_file_system_xfs_done (); - ped_file_system_amiga_done (); -+ ped_file_system_zfs_done (); - } - - static void _done() __attribute__ ((destructor)); -diff --git a/scripts/data/abi/baseline_symbols.txt b/scripts/data/abi/baseline_symbols.txt -index 9162f1a..8bb87e6 100644 ---- a/scripts/data/abi/baseline_symbols.txt -+++ b/scripts/data/abi/baseline_symbols.txt -@@ -344,6 +344,8 @@ FUNC:ped_file_system_ufs_done - FUNC:ped_file_system_ufs_init - FUNC:ped_file_system_xfs_done - FUNC:ped_file_system_xfs_init -+FUNC:ped_file_system_zfs_done -+FUNC:ped_file_system_zfs_init - FUNC:ped_geometry_check - FUNC:ped_geometry_destroy - FUNC:ped_geometry_duplicate |