aboutsummaryrefslogtreecommitdiff
path: root/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h
diff options
context:
space:
mode:
authorXin LI <delphij@FreeBSD.org>2014-12-08 06:04:42 +0000
committerXin LI <delphij@FreeBSD.org>2014-12-08 06:04:42 +0000
commitc2161091ad3723e6b6bf7a6bd982bd8a5ab5dda8 (patch)
tree6ce5967ded79329e9e434dc5a52ba4ea190af5a3 /sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h
parentd6ad6a865a9b9e0b33ed2af9f1774eb20666c91c (diff)
parent6e0d888ba8300d9c22454e580d2037feee85d884 (diff)
downloadsrc-c2161091ad3723e6b6bf7a6bd982bd8a5ab5dda8.tar.gz
src-c2161091ad3723e6b6bf7a6bd982bd8a5ab5dda8.zip
MFV r275540:
When importing a pool, don't assume that the passed pool configuration at vdev_load is always vaild. It's possible that a stale configuration that comes with extra vdevs, where metaslab_init() would fail because of lower layer returns error. Change the code to make metaslab_init() handle and return errors from lower layer and pass it back to upper layer and handle it there. Illumos issue: 5213 panic in metaslab_init due to space_map_open returning ENXIO MFC after: 2 weeks
Notes
Notes: svn path=/head/; revision=275594
Diffstat (limited to 'sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h')
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h
index deefb196fdef..74031f15ebe9 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h
@@ -42,8 +42,8 @@ typedef struct metaslab_ops {
extern metaslab_ops_t *zfs_metaslab_ops;
-metaslab_t *metaslab_init(metaslab_group_t *, uint64_t,
- uint64_t, uint64_t);
+int metaslab_init(metaslab_group_t *, uint64_t, uint64_t, uint64_t,
+ metaslab_t **);
void metaslab_fini(metaslab_t *);
void metaslab_load_wait(metaslab_t *);