summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Hartland <smh@freebsd.org>2013-06-18 22:36:40 -0800
committerChristopher Siden <chris.siden@delphix.com>2013-06-18 23:36:40 -0700
commit7f2416ef64fb43dab18d9b36c0da64bea37c0df3 (patch)
treee33acbab7e22b67056482bcd93e70c35bc4dc932
parent693e4d84eb49b987c3d66cbcd4b13a5c6e9059bf (diff)
downloadillumos-joyent-7f2416ef64fb43dab18d9b36c0da64bea37c0df3.tar.gz
3818 zpool status -x should report pools with removed l2arc devices
Reviewed by: Saso Kiselkov <skiselkov.ml@gmail.com> Reviewed by: George Wilson <gwilson@zfsmail.com> Approved by: Christopher Siden <christopher.siden@delphix.com>
-rw-r--r--usr/src/lib/libzfs/common/libzfs_status.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/usr/src/lib/libzfs/common/libzfs_status.c b/usr/src/lib/libzfs/common/libzfs_status.c
index 560bacdc37..71b27a1214 100644
--- a/usr/src/lib/libzfs/common/libzfs_status.c
+++ b/usr/src/lib/libzfs/common/libzfs_status.c
@@ -22,6 +22,7 @@
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012 by Delphix. All rights reserved.
+ * Copyright (c) 2013 Steven Hartland. All rights reserved.
*/
/*
@@ -150,6 +151,16 @@ find_vdev_problem(nvlist_t *vdev, int (*func)(uint64_t, uint64_t, uint64_t))
return (B_TRUE);
}
+ /*
+ * Check any L2 cache devs
+ */
+ if (nvlist_lookup_nvlist_array(vdev, ZPOOL_CONFIG_L2CACHE, &child,
+ &children) == 0) {
+ for (c = 0; c < children; c++)
+ if (find_vdev_problem(child[c], func))
+ return (B_TRUE);
+ }
+
return (B_FALSE);
}