Files
mirror_zfs/module/zfs
Pavel Zakharov a11c7aaec9 OpenZFS 9187 - racing condition between vdev label and spa_last_synced_txg in vdev_validate
ztest failed with uncorrectable IO error despite having the fix for
7163.  Both sides of the mirror have CANT_OPEN_BAD_LABEL, which also
distinguishes it from that issue.

Definitely seems like a racing condition between the vdev_validate
and spa_sync:
1. Thread A (spa_sync): vdev label is updated to latest txg
2. Thread B (vdev_validate): vdev label's txg is compared to
   spa_last_synced_txg and is ahead.
3. Thread A (spa_sync): spa_last_synced_txg is updated to latest txg.

Solution: do not check txg in vdev_validate unless config lock is held.

Authored by: Pavel Zakharov <pavel.zakharov@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Matt Ahrens <matthew.ahrens@delphix.com>
Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Approved by: Robert Mustacchi <rm@joyent.com>
Ported-by: Brian Behlendorf <behlendorf1@llnl.gov>

OpenZFS-issue: https://illumos.org/issues/9187
OpenZFS-commit: https://github.com/openzfs/openzfs/commit/805fda72
Closes #7529
2018-05-14 14:28:09 -04:00
..
2017-11-18 14:08:00 -08:00
2015-01-16 14:41:26 -08:00
2017-08-14 10:36:48 -07:00
2017-06-26 14:36:49 -07:00
2015-01-16 14:41:26 -08:00
2018-05-01 11:24:20 -07:00
2018-05-01 10:33:35 -07:00
2017-08-14 10:36:48 -07:00
2017-10-11 16:54:48 -04:00
2015-01-16 14:41:26 -08:00
2016-04-21 09:49:25 -07:00
2018-03-15 10:53:58 -07:00
2017-01-03 11:31:18 -06:00
2018-02-13 14:54:54 -08:00
2018-03-15 10:53:58 -07:00
2010-08-31 13:41:58 -07:00
2017-07-13 13:54:00 -04:00
2016-11-29 14:34:33 -08:00
2018-02-08 15:28:18 -08:00
2018-04-15 10:59:13 -07:00
2010-08-31 13:41:58 -07:00
2017-03-10 09:51:33 -08:00
2018-05-07 21:11:58 -07:00
2018-02-13 14:54:54 -08:00
2018-02-13 14:54:54 -08:00
2017-01-03 11:31:18 -06:00
2018-02-13 14:54:54 -08:00
2018-02-09 10:08:05 -08:00
2018-05-02 15:01:24 -07:00
2017-11-18 14:08:00 -08:00
2018-04-15 15:12:28 -07:00