zfs/module/zfs
GeLiXin c23686524f Fix incorrect pool state after import
Import a raidz pool which has a vdev with a bad label, zpool status
shows the right state of the dev, but the wrong state of the pool.
The pool state should be DEGRADED, not ONLINE.

We examine the label in vdev_validate while in spa_load_impl, the bad
label can be detected but doesn't propagate its state to the parent.
There are other chances to propagate state in the following vdev_load
if we failed to load DTL, but our pool is raidz1 which can tolerate a
faulted disk.  So we lost the last chance to correct the pool state.

Propagate the leaf vdev's state to parent if its label was corrupted,
as is done elsewhere in vdev_validate.

Signed-off-by: GeLiXin <ge.lixin@zte.com.cn>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Don Brady <don.brady@intel.com>
Closes #4948
2016-09-09 13:21:09 -07:00
..
Makefile.in Support parallel build trees (VPATH builds) 2015-07-17 13:42:51 -07:00
arc.c Prevent null dereferences when accessing dbuf kstat 2016-09-09 13:21:09 -07:00
blkptr.c Illumos 4757, 4913 2014-08-01 14:28:05 -07:00
bplist.c Change KM_PUSHPAGE -> KM_SLEEP 2015-01-16 14:41:26 -08:00
bpobj.c Illumos 5810 - zdb should print details of bpobj 2015-05-11 15:10:24 -07:00
bptree.c Illumos 5027 - zfs large block support 2015-05-11 12:23:16 -07:00
dbuf.c Fix PANIC: metaslab_free_dva(): bad DVA X:Y:Z 2016-09-05 16:07:09 -07:00
dbuf_stats.c Fix dbuf_stats_hash_table_data race 2016-09-09 13:21:09 -07:00
ddt.c Handle zap_lookup() failure in ddt_object_load() 2015-08-19 14:32:50 -07:00
ddt_zap.c Change KM_PUSHPAGE -> KM_SLEEP 2015-01-16 14:41:26 -08:00
dmu.c zvol processing should use struct bio 2015-09-04 15:30:24 -04:00
dmu_diff.c Illumos 5369 - arc flags should be an enum 2015-06-11 10:27:25 -07:00
dmu_object.c Illumos 6370 - ZFS send fails to transmit some holes 2016-03-15 10:01:48 -07:00
dmu_objset.c Add support for asynchronous zvol minor operations 2016-03-22 18:08:04 -07:00
dmu_send.c Add support for asynchronous zvol minor operations 2016-03-22 18:08:04 -07:00
dmu_traverse.c Add tunable to ignore hole_birth (enabled by default) 2016-09-09 13:20:54 -07:00
dmu_tx.c Illumos 5911 - ZFS "hangs" while deleting file 2015-07-06 09:31:42 -07:00
dmu_zfetch.c Change KM_PUSHPAGE -> KM_SLEEP 2015-01-16 14:41:26 -08:00
dnode.c Illumos 5911 - ZFS "hangs" while deleting file 2015-07-06 09:31:42 -07:00
dnode_sync.c Illumos 6267 - dn_bonus evicted too early 2015-10-13 15:32:16 -07:00
dsl_bookmark.c Illumos 4951 - ZFS administrative commands should use reserved space 2015-05-04 09:41:10 -07:00
dsl_dataset.c OpenZFS 6876 - Stack corruption after importing a pool with a too-long name 2016-09-09 13:21:09 -07:00
dsl_deadlist.c Illumos 5027 - zfs large block support 2015-05-11 12:23:16 -07:00
dsl_deleg.c Illumos 4951 - ZFS administrative commands should use reserved space 2015-05-04 09:41:10 -07:00
dsl_destroy.c Add support for asynchronous zvol minor operations 2016-03-22 18:08:04 -07:00
dsl_dir.c Add support for asynchronous zvol minor operations 2016-03-22 18:08:04 -07:00
dsl_pool.c Fix self-healing IO prior to dsl_pool_init() completion 2016-09-09 13:21:09 -07:00
dsl_prop.c Illumos 4951 - ZFS administrative commands should use reserved space 2015-05-04 09:41:10 -07:00
dsl_scan.c Illumos 5347 - idle pool may run itself out of space 2015-07-14 10:35:21 -07:00
dsl_synctask.c Illumos 4951 - ZFS administrative commands should use reserved space 2015-05-04 09:41:10 -07:00
dsl_userhold.c Illumos 4951 - ZFS administrative commands should use reserved space 2015-05-04 09:41:10 -07:00
fm.c zfsdev_getminor() should check for invalid file handles 2015-06-22 17:02:13 -07:00
gzip.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
lz4.c Change KM_PUSHPAGE -> KM_SLEEP 2015-01-16 14:41:26 -08:00
lzjb.c Change KM_PUSHPAGE -> KM_SLEEP 2015-01-16 14:41:26 -08:00
metaslab.c Disable LBA weighting on files and SSDs 2015-09-01 15:22:07 -07:00
multilist.c Illumos 5497 - lock contention on arcs_mtx 2015-06-11 10:27:25 -07:00
range_tree.c Illumos 5163 - arc should reap range_seg_cache 2015-06-25 08:58:16 -07:00
refcount.c Change KM_PUSHPAGE -> KM_SLEEP 2015-01-16 14:41:26 -08:00
rrwlock.c Illumos 5008 - lock contention (rrw_exit) while running a read only load 2015-07-06 09:34:13 -07:00
sa.c Prevent SA length overflow 2016-01-29 09:41:14 -08:00
sha256.c Add linux sha2 support 2010-08-31 13:41:59 -07:00
spa.c OpenZFS 6876 - Stack corruption after importing a pool with a too-long name 2016-09-09 13:21:09 -07:00
spa_boot.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
spa_config.c Fix ztest truncated cache file 2016-09-05 16:07:08 -07:00
spa_errlog.c Illumos 4914 - zfs on-disk bookmark structure should be named *_phys_t 2014-08-06 14:48:41 -07:00
spa_history.c Illumos 5027 - zfs large block support 2015-05-11 12:23:16 -07:00
spa_misc.c Add spa_slop_shift module option 2015-09-02 09:30:18 -07:00
spa_stats.c Illumos 5369 - arc flags should be an enum 2015-06-11 10:27:25 -07:00
space_map.c Change KM_PUSHPAGE -> KM_SLEEP 2015-01-16 14:41:26 -08:00
space_reftree.c Change KM_PUSHPAGE -> KM_SLEEP 2015-01-16 14:41:26 -08:00
trace.c Illumos 5497 - lock contention on arcs_mtx 2015-06-11 10:27:25 -07:00
txg.c Align thread priority with Linux defaults 2015-07-28 13:36:47 -07:00
uberblock.c Illumos 5347 - idle pool may run itself out of space 2015-07-14 10:35:21 -07:00
unique.c Change KM_PUSHPAGE -> KM_SLEEP 2015-01-16 14:41:26 -08:00
vdev.c Fix incorrect pool state after import 2016-09-09 13:21:09 -07:00
vdev_cache.c Change KM_PUSHPAGE -> KM_SLEEP 2015-01-16 14:41:26 -08:00
vdev_disk.c Use udev for partition detection 2016-05-06 18:22:34 -04:00
vdev_file.c Disable LBA weighting on files and SSDs 2015-09-01 15:22:07 -07:00
vdev_label.c Change KM_PUSHPAGE -> KM_SLEEP 2015-01-16 14:41:26 -08:00
vdev_mirror.c Illumos #5244 - zio pipeline callers should explicitly invoke next stage 2015-04-30 15:07:47 -07:00
vdev_missing.c Illumos #5244 - zio pipeline callers should explicitly invoke next stage 2015-04-30 15:07:47 -07:00
vdev_queue.c Fix self-healing IO prior to dsl_pool_init() completion 2016-09-09 13:21:09 -07:00
vdev_raidz.c Illumos #5244 - zio pipeline callers should explicitly invoke next stage 2015-04-30 15:07:47 -07:00
vdev_root.c Illumos #3598 2013-10-31 14:58:04 -07:00
zap.c Fix empty xattr dir causing lockup 2015-12-30 16:13:30 -08:00
zap_leaf.c Illumos 5314 - Remove "dbuf phys" db->db_data pointer aliases in ZFS 2015-04-28 16:25:20 -07:00
zap_micro.c Add zap_prefetch() interface 2015-12-23 17:29:34 -08:00
zfeature.c Use cached feature info in spa_add_feature_stats() 2015-03-05 14:11:10 -08:00
zfeature_common.c Illumos 5027 - zfs large block support 2015-05-11 12:23:16 -07:00
zfs_acl.c Kill zp->z_xattr_parent to prevent pinning 2016-09-09 13:21:09 -07:00
zfs_byteswap.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
zfs_ctldir.c Remove dummy znode from zvol_state 2016-09-05 16:07:08 -07:00
zfs_debug.c Add dbgmsg kstat 2015-09-04 16:08:14 -07:00
zfs_dir.c xattr dir doesn't get purged during iput 2016-09-09 13:21:09 -07:00
zfs_fm.c Remove wrong ASSERT in annotate_ecksum 2016-05-01 18:29:51 -04:00
zfs_fuid.c Illumos #3522 2013-10-30 14:51:27 -07:00
zfs_ioctl.c Fix get_zfs_sb race with concurrent umount 2016-09-09 13:21:09 -07:00
zfs_log.c Illumos 5027 - zfs large block support 2015-05-11 12:23:16 -07:00
zfs_onexit.c zfsdev_getminor() should check for invalid file handles 2015-06-22 17:02:13 -07:00
zfs_replay.c Linux AIO Support 2014-09-05 15:11:43 -07:00
zfs_rlock.c Remove dummy znode from zvol_state 2016-09-05 16:07:08 -07:00
zfs_sa.c Prevent SA length overflow 2016-01-29 09:41:14 -08:00
zfs_vfsops.c fh_to_dentry should return ESTALE when generation mismatch 2016-09-09 13:21:09 -07:00
zfs_vnops.c Fix out-of-bound access in zfs_fillpage 2016-09-09 13:21:09 -07:00
zfs_znode.c Kill zp->z_xattr_parent to prevent pinning 2016-09-09 13:21:09 -07:00
zil.c Align thread priority with Linux defaults 2015-07-28 13:36:47 -07:00
zio.c Fix vdev_queue_aggregate() deadlock 2015-12-23 17:29:34 -08:00
zio_checksum.c Illumos 4757, 4913 2014-08-01 14:28:05 -07:00
zio_compress.c Illumos 5661 - ZFS: "compression = on" should use lz4 if feature is enabled 2015-07-10 12:11:45 -07:00
zio_inject.c Illumos 5497 - lock contention on arcs_mtx 2015-06-11 10:27:25 -07:00
zle.c Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
zpl_ctldir.c Linux 4.7 compat: use iterate_shared for concurrent readdir 2016-09-05 16:07:08 -07:00
zpl_export.c zfsctl: No need to sync ctldir inodes 2015-08-31 13:54:39 -07:00
zpl_file.c Linux 4.7 compat: use iterate_shared for concurrent readdir 2016-09-05 16:07:08 -07:00
zpl_inode.c Handling negative dentries in a CI file system. 2016-03-22 17:54:07 -07:00
zpl_super.c Fix memleak in zpl_parse_options 2016-09-09 13:21:09 -07:00
zpl_xattr.c Linux 4.7 compat: fix zpl_get_acl returns invalid acl pointer 2016-09-05 16:07:08 -07:00
zrlock.c Illumos 5812 - assertion failed in zrl_tryenter(): zr_owner==NULL 2015-04-30 14:43:40 -07:00
zvol.c Linux 4.7 compat: replace blk_queue_flush with blk_queue_write_cache 2016-09-05 16:07:08 -07:00