svn commit: r212384 - head/sys/boot/zfs

Giorgos Keramidas keramida at ceid.upatras.gr
Fri Sep 10 03:25:46 UTC 2010


On Thu, 9 Sep 2010 21:19:10 +0000 (UTC), Pawel Jakub Dawidek <pjd at FreeBSD.org> wrote:
> Author: pjd
> Date: Thu Sep  9 21:19:09 2010
> New Revision: 212384
> URL: http://svn.freebsd.org/changeset/base/212384
>
> Log:
>   Ignore log vdevs.
>
>   MFC after:	2 weeks

> --- head/sys/boot/zfs/zfsimpl.c	Thu Sep  9 21:18:00 2010	(r212383)
> +++ head/sys/boot/zfs/zfsimpl.c	Thu Sep  9 21:19:09 2010	(r212384)
> @@ -849,6 +850,12 @@ vdev_probe(vdev_phys_read_t *read, void
>  		return (EIO);
>  	}
>
> +	is_log = 0;
> +	(void) nvlist_find(nvlist, ZPOOL_CONFIG_IS_LOG, DATA_TYPE_UINT64, 0,
> +	    &is_log);
> +	if (is_log)
> +		return (EIO);
> +

ZPOOL_CONFIG_IS_LOG is not visible in zfsimpl.c and it breaks the build
here with:

  /usr/src/sys/boot/zfs/zfsimpl.c: In function 'vdev_probe':
  /usr/src/sys/boot/zfs/zfsimpl.c:853: error: 'ZPOOL_CONFIG_IS_LOG' undeclared (first use in this function)
  /usr/src/sys/boot/zfs/zfsimpl.c:853: error: (Each undeclared identifier is reported only once
  /usr/src/sys/boot/zfs/zfsimpl.c:853: error: for each function it appears in.)

It looks like we have to resync the ZFS_CONFIG_XXX defines from zfs.h to
zfsimpl.h to make this buildable again:

%%%
diff -r 561815530ad6 sys/cddl/boot/zfs/zfsimpl.h
--- a/sys/cddl/boot/zfs/zfsimpl.h	Fri May 07 22:51:07 2010 +0300
+++ b/sys/cddl/boot/zfs/zfsimpl.h	Fri Sep 10 06:13:11 2010 +0300
@@ -546,17 +546,23 @@
 #define	ZPOOL_CONFIG_NPARITY		"nparity"
 #define	ZPOOL_CONFIG_HOSTID		"hostid"
 #define	ZPOOL_CONFIG_HOSTNAME		"hostname"
-#define	ZPOOL_CONFIG_TIMESTAMP		"timestamp" /* not stored on disk */
-
+#define	ZPOOL_CONFIG_UNSPARE		"unspare"
+#define	ZPOOL_CONFIG_PHYS_PATH		"phys_path"
+#define	ZPOOL_CONFIG_IS_LOG		"is_log"
+#define	ZPOOL_CONFIG_L2CACHE		"l2cache"
+#define	ZPOOL_CONFIG_SUSPENDED		"suspended"	/* not stored on disk */
+#define	ZPOOL_CONFIG_TIMESTAMP		"timestamp"	/* not stored on disk */
+#define	ZPOOL_CONFIG_BOOTFS		"bootfs"	/* not stored on disk */
 /*
  * The persistent vdev state is stored as separate values rather than a single
  * 'vdev_state' entry.  This is because a device can be in multiple states, such
  * as offline and degraded.
  */
-#define	ZPOOL_CONFIG_OFFLINE            "offline"
-#define	ZPOOL_CONFIG_FAULTED            "faulted"
-#define	ZPOOL_CONFIG_DEGRADED           "degraded"
-#define	ZPOOL_CONFIG_REMOVED            "removed"
+#define	ZPOOL_CONFIG_OFFLINE		"offline"
+#define	ZPOOL_CONFIG_FAULTED		"faulted"
+#define	ZPOOL_CONFIG_DEGRADED		"degraded"
+#define	ZPOOL_CONFIG_REMOVED		"removed"
+#define	ZPOOL_CONFIG_FRU		"fru"
 
 #define	VDEV_TYPE_ROOT			"root"
 #define	VDEV_TYPE_MIRROR		"mirror"
%%%


More information about the svn-src-all mailing list