[Midnightbsd-cvs] src [8212] trunk/sys/boot/zfs/zfsimpl.c: zfs boot spa_status: print bootfs for each reported pool

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sat Sep 17 16:20:38 EDT 2016


Revision: 8212
          http://svnweb.midnightbsd.org/src/?rev=8212
Author:   laffer1
Date:     2016-09-17 16:20:38 -0400 (Sat, 17 Sep 2016)
Log Message:
-----------
zfs boot spa_status: print bootfs for each reported pool

Modified Paths:
--------------
    trunk/sys/boot/zfs/zfsimpl.c

Modified: trunk/sys/boot/zfs/zfsimpl.c
===================================================================
--- trunk/sys/boot/zfs/zfsimpl.c	2016-09-17 20:19:18 UTC (rev 8211)
+++ trunk/sys/boot/zfs/zfsimpl.c	2016-09-17 20:20:38 UTC (rev 8212)
@@ -64,6 +64,8 @@
 #define TEMP_SIZE	(1024 * 1024)
 
 static int zio_read(const spa_t *spa, const blkptr_t *bp, void *buf);
+static int zfs_get_root(const spa_t *spa, uint64_t *objid);
+static int zfs_rlookup(const spa_t *spa, uint64_t objnum, char *result);
 
 static void
 zfs_init(void)
@@ -726,11 +728,20 @@
 static void
 spa_status(spa_t *spa)
 {
+	static char bootfs[ZFS_MAXNAMELEN];
+	uint64_t rootid;
 	vdev_t *vdev;
 	int good_kids, bad_kids, degraded_kids;
 	vdev_state_t state;
 
 	pager_printf("  pool: %s\n", spa->spa_name);
+	if (zfs_get_root(spa, &rootid) == 0 &&
+	    zfs_rlookup(spa, rootid, bootfs) == 0) {
+		if (bootfs[0] == '\0')
+			pager_printf("bootfs: %s\n", spa->spa_name);
+		else
+			pager_printf("bootfs: %s/%s\n", spa->spa_name, bootfs);
+	}
 	pager_printf("config:\n\n");
 	pager_printf(STATUS_FORMAT, "NAME", "STATE");
 



More information about the Midnightbsd-cvs mailing list